本篇博客谈谈交叉验证。
1 交叉验证
一般机器学习对数据的处理就是分割数据集为训练集和测试集,用训练集去训练模型,用测试集去测试模型的性能或是否过拟合。但这样做是有一点不可靠,万一不好的模型对测试集过拟合,这样我们就错误认为模型是好的。要解决这个问题要怎么办呢?答案是使用交叉验证。
交叉验证的思路:
①先使用train_test_split将数据集分为训练集和测试集。
②将训练集在分为n份(自己设置),用n-1份去训练模型,用1份去预测模型。
③得到n个结果去平均值
④再用测试集去预测最终结果
2 sklearn中的交叉验证(cross_val_score)
结合代码体验一下
from sklearn import datasets
from sklearn.neighbors import KNeighborsC