模块 'sklearn' 没有属性 'cross_validation'

module 'sklearn' has no attribute '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'

我该如何处理?

sklearn 不会自动导入它的子包。如果您仅通过以下方式导入:import sklearn,那么它将不起作用。改为使用 import sklearn.cross_validation 导入。

此外,sklearn.cross_validation 将在 0.20 版本中弃用。请改用 sklearn.model_selection.train_test_split

你可以试试这个

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

试试这个:

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)

相当于sklearn中的cross_validation是:

  sklearn.model_selection

"cross_validation" 名称现已弃用,并在新的 anaconda 版本中被 "model_selection" 取代。所以你可以使用

from sklearn.model_selection import train_test_split

谢谢!在 Colab 中成功:

    from sklearn.model_selection import train_test_split