[python] ImportError : model_selection이라는 모듈이 없습니다.

train_test_split함수 를 사용 하고 작성 하려고합니다 .

from sklearn.model_selection import train_test_split

그리고 이것은

ImportError: No module named model_selection

왜? 그리고 극복하는 방법?



답변

나는 당신이 잘못된 버전을 가지고 있다고 생각합니다 scikit-learn. 비슷한 상황이 여기 GitHub 에 설명 되어 있습니다 . 이전 (이전 v0.18) train_test_splitcross_validation모듈에 있었습니다 .

from sklearn.cross_validation import train_test_split

그러나 이제는 model_selection모듈에 있습니다.

from sklearn.model_selection import train_test_split

따라서 최신 버전이 필요합니다.

버전 이상으로 업그레이드하려면 다음을 0.18수행하십시오.

pip install -U scikit-learn

(또는 pip3Python 버전에 따라). 다른 방법으로 설치 한 경우에는 예를 들어 Anaconda를 사용할 때 다른 방법을 사용하여 업데이트해야합니다.


답변

sklearn 업데이트

conda 업데이트 scikit-learn


답변

가져올 때이 문제가 발생했습니다 GridSearchCV.

로 변경 sklearn.model_selection되었습니다 sklearn.grid_search.


답변

Jupyter Notebook을 사용하는 동안 동일한 문제가 발생했습니다. Python 3, conda에서 업데이트 한 내용에 관계없이 Jupyter에서 얻을 수 없습니다.

import sklearn
print (sklearn.__version__)
0.17.1

scikit-learn-0.18.1을 표시하려면

마지막으로 Anaconda3 및 Jupyter Notebook을 제거하고 새로 다시 설치했습니다. 나는 그것을 작동시켰다.

http://ukitech.blogspot.com/2017/02/sklearnmodelselection.html


답변

당신은 sklearn이 있습니까? 그렇지 않은 경우 다음을 수행하십시오.

sudo pip install sklearn

sklearn 설치 후

from sklearn.model_selection import train_test_split

잘 작동


답변

scikit-learn 버전 18.0을 설치하기 위해 두 명령을 모두 사용했습니다.

conda 업데이트 scikit-learn

pip 설치 -U scikit-learn

그러나 작동하지 않습니다. ” ‘scikit-learn’을 설치할 수 없습니다. distutils가 설치된 프로젝트이므로 부분 제거 만 발생하는 파일이 어떤 파일에 속하는지 정확하게 확인할 수 없습니다.”라는 문제가있었습니다.

마지막으로 다음 명령을 사용하여 설치할 수 있습니다.

pip install –user –upgrade scikit-learn == 0.18.0


답변

2016 년 9 월 말 SciKit Learn 0.18이 출시되었고 코드가 약간 변경되었습니다. SciKit Learn 0.18에서는 이제 train_test_split 함수를 cross_validation 대신 model_selection에서 가져옵니다.

from sklearn.cross_validation import train_test_split

다음으로 변경되었습니다.

from sklearn.model_selection import train_test_split

GridSearchCV에서도 마찬가지입니다.