问题
I am trying to split my dataset into training and testing dataset, but I am getting this error:
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'
How can I handle this?
回答1:
sklearn does not automatically import its subpackages. If you only imported via: import sklearn, then it wont work. Import with import sklearn.cross_validation instead.
Furhter, sklearn.cross_validation will be deprecated in version 0.20. Use sklearn.model_selection.train_test_split instead.
回答2:
Try this:
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:
The equivalent to cross_validation in sklearn is:
sklearn.model_selection
回答4:
you can try this
X_train,X_test,Y_train,Y_test =
sklearn.model_selection.train_test_split(X,boston_df.price)
回答5:
"cross_validation" name is now deprecated and was replaced by "model_selection" inside the new anaconda versions. So you can use
from sklearn.model_selection import train_test_split
来源:https://stackoverflow.com/questions/46572475/module-sklearn-has-no-attribute-cross-validation