【问题标题】:No module named 'sklearn.cross_validation'没有名为“sklearn.cross_validation”的模块
【发布时间】:2019-07-10 14:07:25
【问题描述】:

我正在使用 anaconda ,当我导入时

import sklearn as sk 

有效 但是当导入时:

from sklearn.cross_validation import train_test_split

返回:

No module named 'sklearn.cross_validation'

我检查了环境并安装了 scikit-learn 我需要什么 怎么办?

【问题讨论】:

标签: python scikit-learn anaconda


【解决方案1】:

正如@amit-gupta 在上述问题中所指出的,sklearn.cross_validation 已被弃用。现在可以在这里找到函数train_test_split

from sklearn.model_selection import train_test_split

只需将问题中的导入语句替换为上述语句即可。

【讨论】:

    【解决方案2】:

    你的 sklearn 版本是多少?您可以通过sk.__version__了解详情

    可能已经移到sklearn.model_selection

    【讨论】:

      【解决方案3】:

      对于 Sklearn 18 版本,请导入: "从 sklearn.cross_validation 导入 KFold"

      对于 sklearn 20 导入: "从 sklearn.model_selection 导入 KFold"

      【讨论】:

        【解决方案4】:

        应该有另一个导入:

        from sklearn.model_selection import cross_val_score
        

        【讨论】:

          【解决方案5】:

          只需将 sklearn.cross_validation 替换为 sklearn.model_selection

          【讨论】: