天天看点

K折交叉验证

k 折交叉验证(k-fold cross validation)

静态的「留出法」对数据的划分方式比较敏感,有可能不同的划分方式得到了不同的模型。「k 折交叉验证」是一种动态验证的方式,这种方式可以降低数据划分带来的影响。具体步骤如下:

将数据集分为训练集和测试集,将测试集放在一边

将训练集分为 k 份

每次使用 k 份中的 1 份作为验证集,其他全部作为训练集。

通过 k 次训练后,我们得到了 k 个不同的模型。

评估 k 个模型的效果,从中挑选效果最好的超参数

使用最优的超参数,然后将 k 份数据全部作为训练集重新训练模型,得到最终模型。

K折交叉验证

k 一般取 10 数据量小的时候,k 可以设大一点,这样训练集占整体比例就比较大,不过同时训练的模型个数也增多。 数据量大的时候,k 可以设小一点。