我有一个数据集,该数据集分为训练和测试部分。我的任务是训练它并使用k倍交叉验证评估我的模型。我对任务说明有些困惑。据我所知,k-dold交叉验证的重点是通过使用所有数据来训练和测试模型来对有限数据样本进行评估。请告诉我我的算法是否正确:
是的,您做得对。使用K折交叉验证的全部要点是因为我们的数据有限,并且它确保来自原始数据集的每个观察结果都有机会出现在训练和测试集中。
您提到的步骤:
将整个数据随机分成k倍(k的值不能太小或太高,理想情况下,根据数据大小,我们选择5到10)。
然后使用K -1折对模型进行拟合,并使用剩余的K折对模型进行验证。保存分数和错误。
重复此过程,直到每个K折叠都用作测试集为止。然后取您所记录分数的平均值。这将是模型的性能指标。
对点1进行编辑:较高的K值导致较少的模型偏差,但较大的方差可能会导致过度拟合,其中,较低的K值类似于火车测试拆分方法。因此,我们选择k值在5到10之间。您可以尝试使用这些值以获得更好的性能指标。