成功解决(机器学习分割数据问题):ModuleNotFoundError: No module named ‘sklearn.cross_validation’
报错代码
在机器学习中,将原始数据按照比例分割为“测试集”和“训练集”,经常使用sklearn.cross_validation里的train_test_split模块用来分割数据。
我的代码:
from sklearn.cross_validation import train_test_split
from sklearn.datasets import load_iris
iris = load_iris()
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.25, random_state=42)
print("训练集的特征值:", x_train)
print("测试集的特征值:", x_test)
print("训练集的目标值:", y_train)
print("测试集的目标值:", y_test)
print("训练集的目标值形状:", y_train.shape)
print("测试集的目标值形状:", y_test.shape)
报错结果:
from sklearn.cross_validation import train_test_split
ModuleNotFoundError: No module named 'sklearn.cross_validation'
解决思路
报错内容翻译:ModuleNotFoundError:没有名为“sklearn”的模块。cross\u验证’
报错原因:最新sklearn
模块中,目前train_test_split
已经没有cross_validation
了
解决方法
导包代码换成如下即可:
from sklearn.model_selection import train_test_split