Scikit-learn: ์—…๋ฐ์ดํŠธ ํ›„ : ImportError: Windows ์ปดํ“จํ„ฐ์— model_selection์ด๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 01์›” 13์ผ  ยท  17์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: scikit-learn/scikit-learn

์—…๋ฐ์ดํŠธ์— ์„ฑ๊ณตํ•œ ํ›„
conda ์—…๋ฐ์ดํŠธ scikit-learn
Windows ์ปดํ“จํ„ฐ์—์„œ
sklearn.model_selection์—์„œ GridSearchCV ๊ฐ€์ ธ์˜ค๊ธฐ
๋˜๋Š”
sklearn.model_selection import train_test_split์—์„œ
์ค€๋‹ค
ImportError: model_selection์ด๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ scikit-learn์€ ์—…๋ฐ์ดํŠธ ํ›„์— ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฝ˜๋‹ค ์„ค์น˜ -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 ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

๋ชจ๋“  17 ๋Œ“๊ธ€

model_selection ๋ชจ๋“ˆ์€ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค(0.18)์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ cross_validation ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๋‹ซ์Šต๋‹ˆ๋‹ค.

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ exercise_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๋…„ 1์›”์— ์ข…๋ฃŒ๋˜์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ด€๋ จ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค(2016๋…„ 10์›”). ํ•ด๊ฒฐ์ฑ…:

 ## [2016-10-19] Python 3.5 ๊ฐ€์ƒ ํ™˜๊ฒฝ
 (py35) [victoria @victoria ~]$ conda ์„ค์น˜ scikit-learn
 ...
 ๋‹ค์Œ ์ƒˆ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.
 scikit ํ•™์Šต: 0.18-np111py35_0
 ...
 (py35) [victoria @victoria ~]$ ์ฝ˜๋‹ค ๋ชฉ๋ก | ๊ทธ๋ ™ ์‚ฌ์ดํ‚ท
 ์‚ฌ์ดํ‚ท๋Ÿฐ 0.18 np111py35_0 
 ## ํŒŒ์ด์ฌ 3.5:
 >>> sklearn.model_selection import train_test_split์—์„œ
 ์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
 ํŒŒ์ผ "", 1ํ–‰, ์—์„œ
 ImportError: 'sklearn.model_selection'์ด๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.
 ## ๊ป๋ฐ๊ธฐ:
 $ conda install -f 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 ์„ค์น˜ scikit-learn"
 $ pip install -U scikit-learn
 scikit-learn ์ˆ˜์ง‘
 scikit_learn-0.18-cp35-cp35m-manylinux1_x86_64.whl(11.3MB) ๋‹ค์šด๋กœ๋“œ
 100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 11.3MB 162kb/s 
 ์ˆ˜์ง‘๋œ ํŒจํ‚ค์ง€ ์„ค์น˜: 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 ~]$P
 [ํ”ผ: ํŒŒ์ด์ฌ]
 Python 3.5.2(๊ธฐ๋ณธ๊ฐ’, 2016๋…„ 6์›” 28์ผ, 08:46:01) 
 [GCC 6.1.1 20160602] ๋ฆฌ๋ˆ…์Šค์—์„œ
 ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋ณด๋ ค๋ฉด "๋„์›€๋ง", "์ €์ž‘๊ถŒ", "ํฌ๋ ˆ๋”ง" ๋˜๋Š” "๋ผ์ด์„ผ์Šค"๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.
 >>> sklearn.model_selection import train_test_split์—์„œ
 >>> 
 >>> [Ctrl-D / ์ข…๋ฃŒ]
 (py35) [๋น…ํ† ๋ฆฌ์•„ @ ๋น…ํ† ๋ฆฌ์•„ ~]$ ## :-D

 QED

ํ , @victoriastuart ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. conda install scikit-learn ํ™˜๊ฒฝ์— / ํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ํ™•์‹คํ•ฉ๋‹ˆ๊นŒ? ํ™˜๊ฒฝ์— python์ด ์žˆ์Šต๋‹ˆ๊นŒ?

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-platforms

pip๋กœ ์„ค์น˜ํ•œ conda๋กœ ํŒจํ‚ค์ง€๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด๊ฑฐ ์ž‘๋™ ์•ˆ ํ• ๊ฑฐ์•ผ. setuptools ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค.

@amueller -- ์—ฌ๊ธฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: ์ €๋Š” CONDA๊ฐ€ ์„ค์น˜๋œ venv์— ์žˆ์Šต๋‹ˆ๋‹ค: ์ฒ˜์Œ์—๋Š” sklearn์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค(์ด venv์—์„œ ์ด์ „์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์ด์ „์— ์„ค์น˜๋˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. , ์˜ˆ๋ฅผ ๋“ค์–ด pip๋ฅผ ํ†ตํ•ด; ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๋‚˜๋Š” ํ•ญ์ƒ pip๋ณด๋‹ค conda๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค -- ๋จผ์ €, ๋‚ด ํ™˜๊ฒฝ์—์„œ -- pip๋ฅผ ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ):

 (py35) [victoria @victoria ~]$ conda ์„ค์น˜ scikit-learn
 ํŒจํ‚ค์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ค‘ .......
 ํŒจํ‚ค์ง€ ์‚ฌ์–‘ ํ•ด๊ฒฐ: ...........
 /home/victoria/anaconda3/envs/py35 ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๊ณ„ํš:
 ๋‹ค์Œ ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.
 ํŒจํ‚ค์ง€ | ์ง“๋‹ค
 ---------------------------|-----------------
 numpy-1.11.2 | py35_0 6.1MB
 scipy-0.18.1 | np111py35_0 30.4MB
 scikit-learn-0.18 | np111py35_0 10.8MB
 ํ…Œ์•„๋…ธ-0.8.2 | py35_0 3.7MB
 -------------------------------------------------- ----------
 ์ด๊ณ„: 51.0MB
 ๋‹ค์Œ ์ƒˆ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.
 scikit ํ•™์Šต: 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 
 ์‚ฌ์ดํ”ผ: 0.17.1-np110py35_1 --> 0.18.1-np111py35_0
 ํ…Œ์•„๋…ธ: 0.7.0-np110py35_0 --> 0.8.2-py35_0 
 ๊ณ„์†([y]/n)? 
 [... ์Šคํ‚ต ...]

์ฐธ๊ณ :

๋‹ค์Œ ์ƒˆ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค: scikit-learn: 0.18-np111py35_0

์š”์•ฝํ•˜๋ฉด: ํ‘œ์ค€ ๋ฐ sklearn-recommended(http://scikit-learn.org/stable/install.html) ์ ˆ์ฐจ์— ๋”ฐ๋ผ sklearn์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ OK(๊ฒฝ๊ณ  ์—†์Œ)๋ฅผ ์„ค์น˜ํ•œ ๋‹ค์Œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‹คํŒจ ๋‚œํ•ดํ•œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ๊ฐ€์ ธ์˜ค๊ธฐ >> Google ๊ฒ€์ƒ‰ >> ์ด ํŽ˜์ด์ง€. ์ด๊ฒƒ์ €๊ฒƒ(sklearn viz-a-viz NumPy ๋˜๋Š” SciPy, ...)์— ๋Œ€ํ•œ ๋ชจ๋“  ์„ธ๋ถ€ ์‚ฌํ•ญ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์š”์ ์€ ์‚ฌ์šฉ์ž๋กœ์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—…ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ) ์ผ๋ถ€ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์‹ค์ œ๋กœ stackoverflow ๋‹ต๋ณ€์ด ์•„์ง conda/pip์— ๊ฒŒ์‹œ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ์ฐธ์กฐํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(2์ฃผ ์ „์— ๊ทธ๋ ‡๊ฒŒ ํ–ˆ์œผ๋ฏ€๋กœ ๋‹น์—ฐํžˆ ์ฝ”๋“œ๋Š” ๊ทธ๋•Œ๊นŒ์ง€ conda/pip ์„ค์น˜ ๋ฒ„์ „์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค). ๊ท€ํ•˜์˜ ๋ฌธ์ œ๋Š” ์•ฝ๊ฐ„ ๊ด€๋ จ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ƒ๊ด€์—†์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

@nelson-liu: lol ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค -- ๊ทธ๋ฆฌ๊ณ  ์ด ํ”„๋กœ์ ํŠธ/๊ฐœ๋ฐœ์— ๊ด€๋ จ๋œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋ณต์žกํ•˜๊ณ  ์—ฌ๊ธฐ์— ๋ณด๊ณ ๋œ ๊ฒƒ๊ณผ ๊ฐ™์€ ํ•ฉ๋ณ‘์ฆ์€ ํ”ผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์‹ค์ด๋ผ๋Š” ๊ฒƒ์„ ์••๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ๋‚ด sklearn ์„ค์น˜๋Š” ์œ„์— ์š”์•ฝ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ง€๊ธˆ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. [๋ช‡ ์‹œ๊ฐ„ ์•ˆ์— ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.] ์œ„์˜ ๋…ผ์˜๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ, ๋งŽ์€ ๊ฐ์‚ฌ๋ฅผ ๋“œ๋ฆฝ๋‹ˆ๋‹ค! :-)

@victoriastuart im ์ถ”์ธก์ปจ๋ฐ conda ํ™˜๊ฒฝ์ด ๋” ์ด์ƒ ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ /๋‹ค์‹œ ์žฌํ˜„ํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ๋ฌด์—‡์„ ๋ณด๊ณ  ์‹ถ์€์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

>>> import sklearn
>>> sklearn.__version__

(๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋‹ค๋ฅธ๋ฐ, ์ฆ‰ 0.18์ด ์•„๋‹Œ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๊ณ  ์žˆ๋‹ค).
$PYTHONPATH ๋ฐ ๋‹ค๋ฅธ ์œ„์น˜์—์„œ scikit-learn์„ ๊ทธ๋ฆฌ๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์™€ ํ•จ๊ป˜ ๊ทธ๋Ÿฌํ•œ ์˜ค๋ฅ˜๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@nelson-liu : ๋„ค, ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค! ;-)

 --------------------------
 ํŒŒ์ด์ฌ 3.5 VENV(py35 | p3):
 --------------------------
 [victoria @victoria Vancouver]$ p3
 [Anaconda Python 3.5 venv(์†Œ์Šค ํ™œ์„ฑํ™” py35)]
 (py35) [victoria @victoria Vancouver]$ which python
 /home/victoria/anaconda3/envs/py35/bin/python
 (py35) [victoria @victoria Vancouver]$ ์ฝ˜๋‹ค ๋ชฉ๋ก | egrep -wi 'scikit|numpy|scipy'
 numpy 1.11.2 py35_0
 ์‚ฌ์ดํ‚ท๋Ÿฐ 0.18 np111py35_0
 ์‚ฌ์ดํ”ผ 0.18.1 np111py35_0
 (py35) [victoria @victoria Vancouver]$ pip list | egrep -wi 'scikit|numpy|scipy'
 numpy (1.11.1)
 scikit ์ด๋ฏธ์ง€ (0.12.3)
 ์‚ฌ์ดํ‚ท๋Ÿฐ (0.18)
 ์‚ฌ์ดํ”ผ (0.17.0)
 (py35) [victoria @victoria Vancouver]$ P
 [ํ”ผ: ํŒŒ์ด์ฌ]
 Python 3.5.2(๊ธฐ๋ณธ๊ฐ’, 2016๋…„ 6์›” 28์ผ, 08:46:01)
 [GCC 6.1.1 20160602] ๋ฆฌ๋ˆ…์Šค์—์„œ
 ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋ณด๋ ค๋ฉด "๋„์›€๋ง", "์ €์ž‘๊ถŒ", "ํฌ๋ ˆ๋”ง" ๋˜๋Š” "๋ผ์ด์„ผ์Šค"๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.
 >>> sklearn.model_selection import train_test_split์—์„œ
 >>> sklearn ๊ฐ€์ ธ์˜ค๊ธฐ
 >>> sklearn.__version__
 '0.18'
 >>> ์ข…๋ฃŒ()
 (py35) [victoria @victoria Vancouver]$ SD
 [Anaconda venv ๋น„ํ™œ์„ฑํ™”(์†Œ์Šค ๋น„ํ™œ์„ฑํ™”)]
 [victoria @victoria Vancouver]$
 ------------------------------------------
 ํ˜ธ์ŠคํŠธ(๊ฐ€์ƒ์ด ์•„๋‹Œ) ํ™˜๊ฒฝ(PYTHON 3.5):
 ------------------------------------------
 [victoria @victoria Vancouver]$ which python
 /usr/bin/ํŒŒ์ด์ฌ
 [victoria @victoria Vancouver]$ ์ฝ˜๋‹ค ๋ชฉ๋ก | egrep -wi 'scikit|numpy|scipy'
 numpy 1.11.1
 numpy 1.10.4 py35_1
 ์‚ฌ์ดํ‚ท ์ด๋ฏธ์ง€ 0.12.3 np110py35_0
 ์‚ฌ์ดํ‚ท๋Ÿฐ 0.18
 ์‚ฌ์ดํ‚ท ๋Ÿฐ 0.17.1 np110py35_0
 ์‚ฌ์ดํ”ผ 0.17.0 np110py35_2
 [victoria @victoria Vancouver]$ ํ• ๋ฆฌ์ŠคํŠธ | egrep -wi 'scikit|numpy|scipy'
 [victoria @victoria Vancouver]$ P
 [ํ”ผ: ํŒŒ์ด์ฌ]
 Python 3.5.2(๊ธฐ๋ณธ๊ฐ’, 2016๋…„ 6์›” 28์ผ, 08:46:01)
 [GCC 6.1.1 20160602] ๋ฆฌ๋ˆ…์Šค์—์„œ
 ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋ณด๋ ค๋ฉด "๋„์›€๋ง", "์ €์ž‘๊ถŒ", "ํฌ๋ ˆ๋”ง" ๋˜๋Š” "๋ผ์ด์„ผ์Šค"๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.
 >>> sklearn.__version__
 ์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
 ํŒŒ์ผ "", 1ํ–‰, ์—์„œ
 NameError: 'sklearn' ์ด๋ฆ„์ด ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
 >>> sklearn ๊ฐ€์ ธ์˜ค๊ธฐ
 ์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
 ํŒŒ์ผ "", 1ํ–‰, ์—์„œ
 ImportError: 'sklearn'์ด๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.
 >>>
 --------------------------
 ํŒŒ์ด์ฌ 2.7 VENV(py27 | p2):
 --------------------------
 [victoria @victoria Vancouver]$ p2
 [Anaconda Python 2.7 venv(์†Œ์Šค ํ™œ์„ฑํ™” py27)]
 (py27) [victoria @victoria Vancouver]$ ์ฝ˜๋‹ค ๋ชฉ๋ก | egrep -wi 'scikit|numpy|scipy'
 numpy 1.11.1
 numpy 1.10.4 py27_1
 ์‚ฌ์ดํ‚ท ์ด๋ฏธ์ง€ 0.12.3 np110py27_0
 ์‚ฌ์ดํ‚ท๋Ÿฐ 0.17.1 np110py27_0
 ์‚ฌ์ดํ”ผ 0.17.1
 ์‚ฌ์ดํ”ผ 0.17.0 np110py27_0
 (py27) [victoria @victoria Vancouver]$ pip list | egrep -wi 'scikit|numpy|scipy'
 numpy (1.11.1)
 scikit ์ด๋ฏธ์ง€ (0.12.3)
 ์‚ฌ์ดํ‚ท๋Ÿฐ(0.17.1)
 ์‚ฌ์ดํ”ผ (0.17.1)
 (py27) [victoria @victoria Vancouver]$ P
 [ํ”ผ: ํŒŒ์ด์ฌ]
 Python 2.7.12 |Anaconda ์‚ฌ์šฉ์ž ์ง€์ •(64๋น„ํŠธ)| (๊ธฐ๋ณธ๊ฐ’, 2016๋…„ 7์›” 2์ผ, 17:42:40)
 linux2์˜ [GCC 4.4.7 20120313(Red Hat 4.4.7-1)]
 ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋ณด๋ ค๋ฉด "๋„์›€๋ง", "์ €์ž‘๊ถŒ", "ํฌ๋ ˆ๋”ง" ๋˜๋Š” "๋ผ์ด์„ผ์Šค"๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.
 Anaconda๋Š” Continuum Analytics์—์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
 http://continuum.io/thanks ๋ฐ https://anaconda.org๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
 >>> sklearn ๊ฐ€์ ธ์˜ค๊ธฐ
 >>> sklearn.__version__
 '0.17.1'
 >>>
 (py27) [victoria @victoria Vancouver]$

AFAIK, ๋‚ด Python 2.7 ํ™˜๊ฒฝ์€ ์–ด์ œ (py35) ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜๊ธฐ ์ „์— ๋‚ด Python 3.5 ํ™˜๊ฒฝ๊ณผ "์œ ์‚ฌ"ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋˜ conda ์„ค์น˜ scikit-learn์„ ์˜๋ฏธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์„ค์น˜ํ•œ pip ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ train_test_split ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฏ€๋กœ python์€ ์•„๋งˆ๋„ pip์—์„œ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. pip๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•œ ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•œ ๊ฒฝ์šฐ(๋”ฐ๋ผ์„œ ImportError๊ฐ€ ์žˆ์—ˆ๋˜ ์ƒํƒœ๋กœ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ฒฝ์šฐ) ์–ด๋–จ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

@nelson-liu : ๋„ค / ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค! ๋‚˜๋Š” ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ฒŒ์‹œํ•œ ์งํ›„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ, ์œ„์˜ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ;-)

๋‹น์‹ ์ด ๊ทธ๋ฆฌ๋Š” python3.5 env์—๋Š” ์—ฌ์ „ํžˆ pip์—์„œ scikit-learn์ด ์žˆ์–ด ๋ฌผ์„ ์ƒ๋‹นํžˆ ํ๋ฆฌ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฃจํŠธ ํ™˜๊ฒฝ์—์„œ scikit-learn์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํ„ฐ์—์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. py35 ํ™˜๊ฒฝ์˜ scikit-learn์ด ์›ํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ๊ณณ์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์—์„œ ์ด์™€ ๊ฐ™์€ ํ–ฅํ›„ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๋ ค๋ฉด $PATH ๋ฐ $PYTHONPATH๋ฅผ ํ™•์ธํ•˜์ง€๋งŒ ์–ด์จŒ๋“  "์ž‘๋™"ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์•„ .. ์ข‹์€ ์ ! ;-)

์—…๋ฐ์ดํŠธ: ์ด๋ด -- ์ข‹์€ ์บ์น˜ ์˜ฌํ•ด ์ดˆ Python IDE๋กœ PyCharm์„ ์‚ฌ์šฉํ•œ ๊ฒฐ๊ณผ $PYTHONPATH์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด PyCharm ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— my_script.pth๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” PYTHONPATHS๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ์œผ๋ฉฐ, conda๊ฐ€ ์„ค์น˜๋œ Pyhton ํŒจํ‚ค์ง€ ํด๋”์— ํ•ด๋‹น *.pth ํŒŒ์ผ์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ

/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

... ์–ด๋Š ๊ฒƒ์ด ๋ฌธ์ œ์˜€์„๊นŒ์š”?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰