после успешного обновления с помощью
обновление conda scikit-learn
на компьютере с Windows
из sklearn.model_selection import GridSearchCV
или
из sklearn.model_selection import train_test_split
дает
ImportError: нет модуля с именем model_selection
НО, scikit-learn начал работу после обновления только после
conda install -f scipy
на
http://stackoverflow.com/questions/31012216/updated-anaconda-why-arent-my-ipython-notebooks-working-anymore
кстати, этот пример работает нормально
http://scikit-learn.org/stable/auto_examples/text/document_classification_20newsgroups.html#example -text-document-classification-20newsgroups-py
Модуль model_selection
будет доступен только в следующем выпуске (0.18). Вам придется использовать старый модуль cross_validation
!
Закрытие, так как это не ошибка.
хорошо, но не могли бы вы помочь получить рабочий код для файла упражнения_02_sentiment.py
из http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
как написано
Источник этого руководства можно найти в папке scikit-learn:
scikit-learn / doc / tutorial / text_analytics /
вы можете загрузить код со стабильного веб-сайта документации или проверить ветку 0.17.X в своем репо.
Этот вопрос был закрыт в январе 2016 г., но по-прежнему актуален (октябрь 2016 г.). Решение:
## [2016-Oct-19] Виртуальная среда Python 3.5 (py35) [victoria @victoria ~] $ conda установить scikit-learn ... Будут УСТАНОВЛЕНЫ следующие НОВЫЕ пакеты: scikit-learn: 0.18-np111py35_0 ... (py35) [victoria @victoria ~] список $ conda | grep scikit scikit-learn 0.18 np111py35_0 ## Python 3.5: >>> из sklearn.model_selection import train_test_split Отслеживание (последний вызов последний): Файл "", строка 1, в ImportError: нет модуля с именем 'sklearn.model_selection' ## оболочка: $ conda install -f scipy ... Будут УСТАНОВЛЕНЫ следующие НОВЫЕ пакеты: scipy: 0.18.1-np111py35_0 ... ## Python: та же ошибка импорта !! Грррррр ....... ## http://scikit-learn.org/stable/install.html "Если у вас уже есть рабочая установка numpy и scipy, самый простой способ установить scikit-learn - использовать pip pip install -U scikit-learn или conda: conda install scikit-learn " $ pip install -U scikit-learn Сбор scikit-learn Скачивание scikit_learn-0.18-cp35-cp35m-manylinux1_x86_64.whl (11,3 МБ) 100% | ███████████████████████████████ | 11,3 МБ 162 КБ / с Установка собранных пакетов: scikit-learn Найдена существующая установка: scikit-learn 0.17.1 УСТАРЕНИЕ: Удаление установленного проекта distutils (scikit-learn) устарело и будет удалено в будущей версии. Это связано с тем, что при удалении проекта distutils он удаляется только частично. Удаление scikit-learn-0.17.1: Успешно удален scikit-learn-0.17.1 Успешно установлен scikit-learn-0.18 ## СЕЙЧАС можно успешно импортировать: (py35) [victoria @victoria ~] $ P [P: питон] Python 3.5.2 (по умолчанию, 28 июня 2016 г., 08:46:01) [GCC 6.1.1 20160602] в Linux Для получения дополнительной информации введите «помощь», «авторские права», «кредиты» или «лицензия». >>> из sklearn.model_selection import train_test_split >>> >>> [Ctrl-D / выход] (py35) [victoria @victoria ~] $ ## :-D QED
хм, похоже, у меня нет проблемы с @victoriastuart . Вы уверены, что активируете среду / имеете python в среде, в которой вы conda install scikit-learn
?
nfliu at kilauea in ~
$ conda create -n test python=3
Fetching package metadata .......
Solving package specifications: ..........
Package plan for installation in environment /Users/nfliu/miniconda2/envs/test:
The following NEW packages will be INSTALLED:
openssl: 1.0.2j-0
pip: 8.1.2-py35_0
python: 3.5.2-0
readline: 6.2-2
setuptools: 27.2.0-py35_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py35_0
xz: 5.2.2-0
zlib: 1.2.8-3
Proceed ([y]/n)? y
Linking packages ...
[ COMPLETE ]|###################################################| 100%
#
# To activate this environment, use:
# > source activate test
#
# To deactivate this environment, use:
# > source deactivate test
#
nfliu at kilauea in ~
$ source activate test
(test) nfliu at kilauea in ~
$ conda install scikit-learn
Fetching package metadata .......
Solving package specifications: ..........
Package plan for installation in environment /Users/nfliu/miniconda2/envs/test:
The following packages will be downloaded:
package | build
---------------------------|-----------------
numpy-1.11.2 | py35_0 2.7 MB
scipy-0.18.1 | np111py35_0 12.3 MB
scikit-learn-0.18 | np111py35_0 4.6 MB
------------------------------------------------------------
Total: 19.6 MB
The following NEW packages will be INSTALLED:
mkl: 11.3.3-0
numpy: 1.11.2-py35_0
scikit-learn: 0.18-np111py35_0
scipy: 0.18.1-np111py35_0
Proceed ([y]/n)? y
Fetching packages ...
numpy-1.11.2-p 100% |#############################################################################################################################################################################################| Time: 0:00:01 1.57 MB/s
scipy-0.18.1-n 100% |#############################################################################################################################################################################################| Time: 0:00:02 6.30 MB/s
scikit-learn-0 100% |#############################################################################################################################################################################################| Time: 0:00:01 2.66 MB/s
Extracting packages ...
[ COMPLETE ]|################################################################################################################################################################################################################| 100%
Linking packages ...
[ COMPLETE ]|################################################################################################################################################################################################################| 100%
(test) nfliu at kilauea in ~
$ python
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from sklearn.model_selection import train_test_split
>>>
@ nelson-liu: спасибо за ваше предложение ... Да: я все время работал в своей виртуальной среде Python 3.5 (терминал; Python). Сейчас работаю, согласно моему ответу. :-)
@victoriastuart Я уверен, что это случилось с вами (см. большую красную рамку):
http://scikit-learn.org/dev/install.html#canopy -and-anaconda-for-all-supported-platform
Не пытайтесь обновить пакет с помощью conda, который вы установили с помощью pip. он не будет работать. Это ошибка setuptools.
@amueller - Вот в чем дело: я нахожусь в CONDA, установленном venv: вначале я почти уверен, что sklearn не было (я не использовал его ранее в этом venv, поэтому он не был ранее установлен , например, через pip; несмотря на это, я всегда предпочитаю conda над pip - во-первых, в моем venv - используя pip в крайнем случае):
(py35) [victoria @victoria ~] $ conda установить scikit-learn Получение метаданных пакета ....... Технические характеристики решающего пакета: .......... План пакета для установки в environment / home / victoria / anaconda3 / envs / py35: Будут загружены следующие пакеты: пакет | строить --------------------------- | ----------------- numpy-1.11.2 | py35_0 6,1 МБ scipy-0.18.1 | np111py35_0 30,4 МБ scikit-learn-0.18 | np111py35_0 10,8 МБ theano-0.8.2 | py35_0 3,7 МБ -------------------------------------------------- ---------- Всего: 51,0 МБ Будут УСТАНОВЛЕНЫ следующие НОВЫЕ пакеты: scikit-learn: 0.18-np111py35_0 Будут ОБНОВЛЕНЫ следующие пакеты: астропия: 1.1.2-np110py35_0 -> 1.2.1-np111py35_0 узкое место: 1.0.0-np110py35_1 -> 1.1.0-np111py35_0 matplotlib: 1.5.1-np110py35_0 -> 1.5.1-np111py35_0 numpy: 1.10.4-py35_2 -> 1.11.2-py35_0 scipy: 0.17.1-np110py35_1 -> 0.18.1-np111py35_0 theano: 0.7.0-np110py35_0 -> 0.8.2-py35_0 Продолжить ([y] / n)? [... вырезать ...]
Примечание выше:
Будут УСТАНОВЛЕНЫ следующие НОВЫЕ пакеты: scikit-learn: 0.18-np111py35_0
Итак, вкратце: в соответствии со стандартными и рекомендованными sklearn (http://scikit-learn.org/stable/install.html) процедурами я устанавливаю sklearn - по-видимому, устанавливает ОК (без предупреждений), затем пытаюсь использовать его: сбой для импорта с эзотерическим сообщением об ошибке >> поиск в Google >> эта страница. Я ценю все мелочи об этом или этом (sklearn viz-a-viz NumPy или SciPy, ...), но главное в том, что как пользователю мне нужно было поработать над решением этой проблемы, которая, по-видимому, thread) для некоторых пользователей.
на самом деле проблема заключалась в том, что ответ stackoverflow ссылался на код, который еще не был опубликован в conda / pip (мы сделали это только 2 недели назад, поэтому, естественно, до тех пор код не работал с версиями, установленными conda / pip). Ваша проблема кажется немного не связанной, но я рад, что у вас все равно получилось.
@ nelson-liu: lol спасибо - и всем людям, вовлеченным в этот проект / разработку. Я знаю, что это безумно сложно, и что осложнения, подобные тем, о которых здесь говорится, - неизбежный факт. В любом случае моя установка sklearn, похоже, сейчас работает, как описано выше. [Я начну использовать его через несколько часов.] Надеюсь, приведенное выше обсуждение проинформирует / поможет другим. Опять же, большая признательность! :-)
@victoriastuart, я предполагаю, что у вас больше нет среды
>>> import sklearn
>>> sklearn.__version__
даст (я ожидаю, что это не то, что мы думаем, а именно не 0,18).
Я подозреваю, что это проблема с $ PYTHONPATH и, возможно, с отрисовкой scikit-learn из другого места; Мы надеемся, что исправление такой ошибки позволит избежать таких ошибок в других пакетах.
@ nelson-liu: конечно, без проблем! ;-)
---------------------------- PYTHON 3.5 VENV (py35 | p3): ---------------------------- [Виктория @ Виктория Ванкувер] $ p3 [Anaconda Python 3.5 venv (источник активирует py35)] (py35) [victoria @victoria Vancouver] $ какой питон / дома / Виктория / анаконда3 / envs / py35 / бен / питон (py35) [victoria @victoria Vancouver] $ conda list | egrep -wi 'scikit | numpy | scipy' numpy 1.11.2 py35_0 scikit-learn 0.18 np111py35_0 scipy 0.18.1 np111py35_0 (py35) [victoria @victoria Vancouver] $ pip list | egrep -wi 'scikit | numpy | scipy' numpy (1.11.1) scikit-изображение (0.12.3) scikit-learn (0,18) scipy (0.17.0) (py35) [victoria @victoria Vancouver] $ P [P: питон] Python 3.5.2 (по умолчанию, 28 июня 2016 г., 08:46:01) [GCC 6.1.1 20160602] в Linux Для получения дополнительной информации введите «помощь», «авторские права», «кредиты» или «лицензия». >>> из sklearn.model_selection import train_test_split >>> импорт sklearn >>> sklearn .__ version__ '0,18' >>> выйти () (py35) [victoria @victoria Vancouver] $ sd [Деактивировать Anaconda venv (деактивировать источник)] [Виктория @ Виктория Ванкувер] $ --------------------------------------------- ХОЗЯЙСТВЕННАЯ (НЕВИРТУАЛЬНАЯ) СРЕДА (PYTHON 3.5): --------------------------------------------- [Виктория @ Виктория Ванкувер] $ какой питон / usr / bin / питон [Виктория @ Виктория Ванкувер] Список $ conda | egrep -wi 'scikit | numpy | scipy' numpy 1.11.1numpy 1.10.4 py35_1 scikit-image 0.12.3 np110py35_0 scikit-learn 0.18 scikit-learn 0.17.1 np110py35_0 scipy 0.17.0 np110py35_2 [Виктория @ Виктория Ванкувер] $ pip list | egrep -wi 'scikit | numpy | scipy' [Виктория @ Виктория Ванкувер] $ P [P: питон] Python 3.5.2 (по умолчанию, 28 июня 2016 г., 08:46:01) [GCC 6.1.1 20160602] в Linux Для получения дополнительной информации введите «помощь», «авторские права», «кредиты» или «лицензия». >>> sklearn .__ version__ Отслеживание (последний вызов последний): Файл " ", строка 1, в NameError: имя 'sklearn' не определено >>> импорт sklearn Отслеживание (последний вызов последний): Файл " ", строка 1, в ImportError: нет модуля с именем 'sklearn' >>> ---------------------------- Python 2.7 VENV (py27 | p2): ---------------------------- [Виктория @ Виктория Ванкувер] $ p2 [Anaconda Python 2.7 venv (источник активирован py27)] (py27) [victoria @victoria Vancouver] $ conda list | egrep -wi 'scikit | numpy | scipy' numpy 1.11.1 numpy 1.10.4 py27_1 scikit-image 0.12.3 np110py27_0 scikit-learn 0.17.1 np110py27_0 scipy 0.17.1 scipy 0.17.0 np110py27_0 (py27) [victoria @victoria Vancouver] $ pip list | egrep -wi 'scikit | numpy | scipy' numpy (1.11.1) scikit-изображение (0.12.3) scikit-learn (0,17.1) scipy (0.17.1) (py27) [victoria @victoria Vancouver] $ P [P: питон] Python 2.7.12 | Пользовательская версия Anaconda (64-разрядная версия) | (по умолчанию, 2 июля 2016 г., 17:42:40) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] в linux2 Для получения дополнительной информации введите «помощь», «авторские права», «кредиты» или «лицензия». Анаконда представлена вам компанией Continuum Analytics. Пожалуйста, проверьте: http://continuum.io/thanks и https://anaconda.org >>> импорт sklearn >>> sklearn .__ version__ '0,17,1' >>> (py27) [victoria @victoria Vancouver] $
AFAIK, мой Python 2.7 venv был бы «похож» на мой Python 3.5 venv вчера, до моей установки в этом (py35) venv.
извините, я имел в виду scikit-learn, установленный conda, с которым у вас раньше были проблемы. Это установленный пип, который вы кладете поверх него, чтобы решить свои проблемы. Поскольку кажется, что вы можете импортировать здесь train_test_split
, вероятно, python использует pip. Мне любопытно посмотреть, что было бы, если бы вы удалили то, что вы установили через pip (таким образом, вернувшись к состоянию, в котором у вас была ошибка ImportError).
@ нельсон-лю: да / упс! Я понял это сразу после того, как опубликовал этот вывод. Обновлено, теперь, выше. ;-)
В python3.5 env, на котором вы рисовали, все еще есть scikit-learn от pip, что значительно мутит воду. Не слишком уверен, что происходит на вашем компьютере, особенно потому, что вы даже не можете импортировать scikit-learn в свой корневой env; Я думаю, что scikit-learn в py35 env извлекается из другого места, чего вы не хотите. Я бы проверил ваши $ PATH и $ PYTHONPATH, если вы хотите избежать подобных проблем в будущем с другими пакетами, но приятно видеть, что он все равно «работает».
Аааа .. хорошие моменты! ;-)
Обновление: Эй - хороший улов (умные, отличные люди; ;-) !! У меня были проблемы с моим $ PYTHONPATH, возникшие из-за того, что я использовал PyCharm ранее в этом году в качестве моей Python IDE. Чтобы решить эту проблему, я создал my_script.pth в моем корневом каталоге PyCharm, в котором перечислены мои PYTHONPATHS, с символическими ссылками на этот файл * .pth в моих папках пакетов Pyhton, установленных conda; например
/home/victoria/.local/lib/python3.5/site-packages/my_scripts.pth
# symlink to: /home/victoria/PycharmProjects/scripts/my_scripts.pth
[Я знаю: это сложно, но мне нужно было это сделать.] Короче говоря, я действительно предпочитаю Geany в качестве моей (многоплатформенной) IDE / редактора, поэтому позже я скопировал / обновил эти пути, например
/home/victoria/.local/lib/python3.5/site-packages/my_scripts.pth
# symlink (now!) to: /home/victoria/GeanyProjects/Victoria/scripts/my_scripts.pth
Мой (Geany) файл my_scripts.pth ($ PYTHONPATH) указывал на
/home/victoria/.local/lib/python2.7
... в чем, я считаю, могла быть проблема?
Самый полезный комментарий
Модуль
model_selection
будет доступен только в следующем выпуске (0.18). Вам придется использовать старый модульcross_validation
!