web-dev-qa-db-ja.com

モジュール 'sklearn'には属性 'cross_validation'がありません

データセットをトレーニングデータセットとテストデータセットに分割しようとしていますが、このエラーが発生しています:

X_train,X_test,Y_train,Y_test = sklearn.cross_validation.train_test_split(X,df1['ENTRIESn_hourly'])

AttributeError                            Traceback (most recent call last)
<ipython-input-53-5445dab94861> in <module>()
----> 1 X_train,X_test,Y_train,Y_test = sklearn.cross_validation.train_test_split(X,df1['ENTRIESn_hourly'])

AttributeError: module 'sklearn' has no attribute 'cross_validation'

これをどのように処理できますか?

25
Naren

sklearnは、サブパッケージを自動的にインポートしません。 import sklearn経由でのみインポートした場合、機能しません。代わりにimport sklearn.cross_validationを使用してインポートします。

さらに、sklearn.cross_validationはバージョン0.20で非推奨になります。代わりにsklearn.model_selection.train_test_splitを使用してください。

62

これを試して:

from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.33, random_state=101)
3
user260826

Sklearnのcross_validationと同等のものは次のとおりです。

  sklearn.model_selection

あなたはこれを試すことができます

X_train,X_test,Y_train,Y_test = 
    sklearn.model_selection.train_test_split(X,boston_df.price)