KFold 交叉验证歧义

数据挖掘 机器学习 交叉验证 模型选择
2021-09-18 02:44:36

我刚刚研究了用于查找模型参数的 K-Fold 交叉验证技术,有些东西似乎很令人困惑。我遵循的每个教程都说,对于 K-Fold 验证,整个数据集将被分成 K 个部分,并且 K 个模型每次都适合一个部分作为验证数据集。所以,我怀疑这种方法会生成 K 个模型。在实际推理过程中我们应该使用哪个模型?还是相同的模型会被训练 K 次,不同部分的数据作为保留集?

1个回答

您希望通过此验证策略实现的目标是对哪种超参数组合足以满足您的最终模型的可靠估计,因此:

  • 对于超参数的每种组合,您按照以下模式进行 k 次培训(正如您在上一个问题中所问的那样): 信息来源在此处输入图像描述

  • 一旦你有了这个经过 k 训练的模型(即一个超参数组合),你就会找到k 个子模型的均值和标准差

  • 您对要尝试的所有超参数组合重复此过程

一旦您选择了提供所需评估指标的最佳平均值(和标准)的模型超参数,您就可以使用所有训练数据集(图像中的绿色部分)重新训练,并使用前所未见的蓝色测试对其进行评估数据。

对你来说幸运的是,整个过程都是自动化的,像scikit-learn这样的助手,它已经为你重新训练了最终模型,并且可以通过best_estimator_属性访问。

如果您想要有关此交叉验证的更详细的文档,可以查看此链接