Модуль sklearn. * Устарел в версии 0.22 и будет удален в версии 0.24 - PullRequest
4 голосов
/ 08 января 2020

Я переношу часть программного обеспечения с Python 2.7 на Python 3.

Одна из возникающих проблем:

Модуль sklearn.neighbors.kde устарел в версии 0.22 и будет удален в версии 0.24. Соответствующие классы / функции должны быть импортированы из sklearn.neighbors. Все, что не может быть импортировано из sklearn.neighbors, теперь является частью частного API.

Я не уверен, какая строка вызывает это, и не уверен, является ли это ошибкой или предупреждением, и какие последствия.

Вкл. python 2,7 все работает отлично.

Как мне избавиться от этого?

Ответы [ 2 ]

2 голосов
/ 08 января 2020

Это будет работать до тех пор, пока вы не обновите свою версию scikit / sklearn. Тогда этот пакет: https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KernelDensity.html вы больше не сможете запускать. Теперь у вас есть время для поиска похожих модулей, если вы хотите обновить свою версию.

Но в качестве подсказки вы также можете настроить различные среды с разными версиями, поэтому, если вам нужен этот модуль, просто запустите и не обновляйте свою версию sklear в этой среде.

1 голос
/ 08 января 2020

Пока это только предупреждение - пока вы не обновите sklearn до версии 0.24. Тогда ваш код необходимо будет изменить, прежде чем он заработает. Это дает вам представление об этом, так что вы можете исправить свой код заранее. Изменения, описанные ниже, должны работать с вашей текущей версией; вам не нужно ждать обновления, прежде чем менять свой код (по крайней мере, так обычно работают эти предупреждения об устаревании).

Вместо этого следует импортировать соответствующие классы / функции из sklearn.neighbors.

Если я правильно прочитал это сообщение, оно говорит о том, что если вы сейчас используете в своем коде функцию, подобную sklearn.neighbours.kde.some_function(), вам нужно изменить ее на sklearn.neighbours.some_function().

Все, что не может быть импортировано из sklearn.neighbors, теперь является частью частного API.

Похоже, что некоторые функции больше не будут быть доступным для вас, даже используя модификацию выше.

...