web-dev-qa-db-fra.com

le module 'sklearn' n'a pas d'attribut 'cross_validation'

J'essaie de scinder mon jeu de données en jeu de données d'apprentissage et de test, mais j'obtiens cette erreur:

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'

Comment puis-je gérer cela?

15
Naren

sklearn n'importe pas automatiquement ses sous-packages. Si vous importez uniquement via: import sklearn, cela ne fonctionnera pas. Importer avec import sklearn.cross_validation à la place.

De plus, sklearn.cross_validation sera obsolète dans la version 0.20. Utilisez sklearn.model_selection.train_test_split à la place.

47
Brenden Petersen

tu peux essayer ça 

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

L'équivalent de cross_validation dans sklearn est:

  sklearn.model_selection
1

Essaye ça:

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)
1
spicyramen