No module named 'sklearn.cross_validation'

问题说明:已安装过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,也就是说:

  1. 在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 

 

你可能感兴趣的:(sklearn,sklearn,机器学习,数据预处理)