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