为什么要用交叉验证?

来源:8-6 验证数据集与交叉验证

慕运维2948618

2018-01-13

老师在课上说减少随机的影响,请问这随机的影响到底是什么呢?

写回答

1回答

liuyubobobo

2018-01-14

不同的随机划分得到不同的结果。


一组数据a,b,c,d,使用a,b,c做训练集,d做测试集;和使用b,c,d做训练集,a做测试集,通常结果是不同的,而且有可能非常不一样。交叉验证相当于使用多次划分数据集进行训练最终取平均的方式,一定程度消除了这种随机划分数据带来的测试结果不同的影响。LOOCV则完全消除了这种影响。

0
4
liuyubobobo
回复
神经旷野舞者
非常赞。平均确实不是唯一的运算方式。交叉验证可以得到k组结果,对k组结果你可以使用任何你希望的统计工具做运算。平均值是最简单的一种方式而已。也正因为如此,sklearn中的cross_val_score返回的是一个数组,包含k个结果:)可以参考文档:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html
2018-03-07
共4条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程