问题说明:已安装过scikit-learn(sklearn),想调用train_test_split,运行
from sklearn.cross_validation import train_test_split
出现错误:
ModuleNotFoundError: No module named 'sklearn.cross_validation'
网上查了一下,具体原因是因为版本问题:在scikit-learn(sklearn) 0.18版本中,train_test_split 从cross_validation 移动到了 model_selection,也就是说:
- 在sklearn 0.18及更高版本中,正确调用 train_test_split 为
from sklearn.model_selection import train_test_split
2.在sklearn 0.17及更低版本中,正确调用 train_test_split 为
from sklearn.cross_validation import train_test_split
很多参考书比较旧,sklearn版本更新比较快,建议大家及时更新sklearn到较新的版本
查看sklearn版本:
import sklearn
sklearn.__version__
注意: __version__ 每侧各两个下划线
升级sklearn
anaconda升级sklearn版本(windows用户强烈建议安装anaconda):
conda update scikit-learn
pip升级sklearn:
pip install -U scikit-learn
本文解决在不同版本的scikit-learn中导入train_test_split模块的常见错误。在0.18版本后,该模块从sklearn.cross_validation移至sklearn.model_selection。文章提供了如何检查和更新scikit-learn版本的方法。
3万+

被折叠的 条评论
为什么被折叠?



