私はtrain_test_split
関数を使って書きます:
from sklearn.model_selection import train_test_split
これが原因
ImportError: No module named model_selection
どうして?そしてどのように克服するのですか?
私はあなたがscikit-learn
の間違ったバージョンを持っていると思います、同様の状況は ここでGitHubで説明されていました 。以前(v0.18
の前)、train_test_split
はcross_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
(Pythonのバージョンによってはpip3
)。別の方法でインストールした場合は、Anacondaを使用している場合など、必ず別の方法で更新してください。
conda更新scikit-learn
GridSearchCV
をインポートしたときにこの問題が発生しました。
sklearn.model_selection
をsklearn.grid_search
に変更しただけです。
Jupyter Notebookを使っているときに同じ問題を抱えていましたが、Python 3で何を更新したとしても、Jupyterに入ることはできませんでした。
import sklearn
print (sklearn.__version__)
0.17.1
scikit-learn-0.18.1へのアクセス
最後に、私はAnaconda 3とJupyter Notebookを削除し、そして新たに再インストールした。私はそれを働かせました。
http://ukitech.blogspot.com/2017/02/sklearnmodelselection.html
スカルーンはありますか?そうでない場合は、次の操作を行います。
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
@linusgが言ったように、1つの選択肢は以下のように単にインポート相互検証です:
from sklearn import cross_validation
X_train,X_test,y_train,y_test = cross_validation.train_test_split(X,y,test_size=0.3)
Sklearn 0.20.0の最新安定版リリースは train_test_split はmodel_selectionの下にはありません cross_validation
Sklearnのバージョンを確認するには
インポートsklearn印刷(sklearn.バージョン )0.20.2
2016年9月下旬、SciKit Learn 0.18がリリースされ、コードにわずかな変更が加えられました。 SciKit Learn 0.18では、cross_validationではなくmodel_selectionからtrain_test_split関数がインポートされるようになりました。
from sklearn.cross_validation import train_test_split
に変更されました:
from sklearn.model_selection import train_test_split
同じことがGridSearchCVでも発生しました。
みんな、ありがとう!
あなたのSklearnのバージョンが低すぎます、model_selection
は0.18.1までにインポートされているので、Sklearnのバージョンを更新してください。