交叉验证是在机器学习建立模型和验证模型参数时常用的方法。交叉验证就是重复使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在下次可能成为测试集中的样本,即所谓的‘交叉’。
1.简单交叉验证
所谓的简单,是和其他交叉验证方法相对而言的。首先,我们随机的将样本数据分为两部分(比如: 70%的训练集,30%的测试集),然后用训练集来训练模型,在测试集上验证模型及参数。接着,我们再把样本打乱,重新选择训练集和测试集,继续训练数据和检验模型。最后我们选择损失函数评估最优的模型和参数。

2.k-折交叉验证
k折交叉验证会把样本数据随机的分成k份,每次随机的选择k-1份作为训练集,剩下的1份做测试集。当这一轮完成后,重新随机选择k-1份来训练数据。若干轮(小于k)之后,选择损失函数评估最优的模型和参数。

k 折交叉验证通过对 k 个不同分组训练的结果进行平均来减少方差,因此模型的性能对数据的划分就不那么敏感。
1) 不重复抽样将原始数据随机分为 k 份
2) 每一次挑选其中 1 份

交叉验证是评估模型的重要方法,包括简单交叉验证、k-折交叉验证和留一法。简单交叉验证通过随机分组训练和测试,多次评估选择最优模型。k-折交叉验证将数据分为k份,每份轮流作为测试集,其余作为训练集,通过多次训练和测试求平均值降低模型方差。留一法中,每个样本都作为测试集一次,适用于数据量小的情况。cross_val_score函数可用于实现这些交叉验证策略。

最低0.47元/天 解锁文章
720

被折叠的 条评论
为什么被折叠?



