2017-10-04 169 views
1

我想我的数据集分成训练和测试数据集,但我得到这个错误:模块“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' 

我该如何处理这个?

+0

你是如何导入'sklearn'? 你试过[很多](https://stackoverflow.com/questions/16743889/cant-use-scikit-learn-attributeerror-module-object-has-no-attribute)[解决方案](https:// stackoverflow .com/questions/40496969/attributeerror-module-sklearn-metrics-has-no-attribute-calinski-harabaz-scor)在线找到? – Antimony

回答

12

sklearn不会自动导入其子包。如果你只通过:import sklearn导入,那么它不会工作。改为使用import sklearn.cross_validation导入。

Furhter,sklearn.cross_validation将在版本0.20中弃用。改为使用sklearn.model_selection.train_test_split

+1

打败我。欢迎来到堆栈溢出!这个答案会更好一些[链接源代码](http://scikit-learn.org/0.19/modules/generated/sklearn.cross_validation.train_test_split.html):) –

相关问题