一、简介
K折交叉验证(K-fold Cross-Validation)是一种用于划分训练数据与验证数据的一种方法。
通常来说,80%用于训练而20%用于测试,但是这样的话会有意外:若80%的数据凑巧训练得非常完美而剩下的恰好都是意外值,那这种偶然性会导致我们模型的性能下降。故推出此方法。
二、过程
- 将数据集等分成K组数据
- 将第一组数据作为验证数据集,而将第2~K组作为测试数据集
- 将第二组数据作为验证数据集,而将其余的组作为测试数据集
- 如此往复,直至完成
- 将K组验证错误率取平均值,并将之作为泛化错误率
注:K一般取10,K越大,则数据集越多,结果越可靠,但是得到结果慢,K越少则相反