iPython (python 2) – ImportError: нет модуля с именем model_selection
iPython Notebook Python 2
Жалуется на эту строку:
- Набор данных цифр Sklearn
- Использование easy_install с помощью sklearn-pandas
- КАК МАРКИРОВАТЬ ВАШЕ ХАРАКТЕРИСТИК с лесами деревьев?
- Scikit K - означает измерение производительности кластеризации
- склеарная стратифицированная выборка на основе столбца
from sklearn.model_selection import train_test_split
Почему выбор модели не работает?
One Solution collect form web for “iPython (python 2) – ImportError: нет модуля с именем model_selection”
Чтобы исправить эту проблему, вам нужно сначала узнать, импортируете ли вы фактический пакет sklearn
, а не только какой-то скрипт с именем sklearn.py
сохраненным где-то в вашем рабочем каталоге. Способ импорта модулей Python несколько схож с тем, как он находит переменные в своем пространстве имен ( Local
, Enclosed
, Global
, Built-in
). В этом случае Python начнет импортировать модуль, сначала посмотрев в текущем каталоге, а затем на site-packages
. Если он выглядит в текущем рабочем каталоге и находит скрипт python с тем же именем, что и модуль, который вы пытаетесь импортировать, он импортирует этот скрипт вместо фактического модуля.
Обычно вы можете узнать, импортирован ли фактический модуль, проверяя его __file__
или __path__
:
import sklearn print(sklearn.__file__) print(sklearn.__path__)
Просмотр вывода этих операторов печати скажет вам, является ли импортированный пакет вашим модулем, или просто какой-то скрипт, лежащий где-то в вашем рабочем каталоге. Если в случае, если вывод не указывает на site-packages
сайта вашей версии Python, вы импортировали некоторый скрипт где-то, что не является самим модулем. Быстрое исправление будет состоять в том, чтобы сначала выйти из консоли, переименовать сценарий .py
и его скомпилированную версию (файл .pyc
) и вернуться на консоль и повторить попытку.
Однако, если вывод указывает на пакеты сайта python, то есть что-то не так, как был установлен пакет в первую очередь. В этом случае вам, вероятно, потребуется обновить или переустановить его.
В частности, выясняется, что проблема sklearn
с используемой вами версией sklearn
; потому что модуль model_selection
в sklearn
доступен в версиях 0.18+
. Если вы используете номер версии ( sklearn.__version__
) ниже 0.18
, вам придется использовать старый модуль cross_validation
вместо модуля model_selection
:
from sklearn.cross_validation import train_test_split
Вы также можете просто обновить до последней версии пакета с помощью вашей предпочтительной системы управления пакетами.
Надеюсь, это полезно.