【问题标题】: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