K折交叉验证的应用和部署

3

K-Fold交叉验证是一种技术,用于将数据分成K个Fold进行测试和训练。目标是估计机器学习模型的泛化能力。模型通过每个Train-fold一次,然后在相应的Test-fold上进行测试进行K次训练。

假设我想在具有10个Folds的任意数据集上比较决策树和逻辑回归模型。假设在每个Fold上训练各自的模型并获得相应的测试准确性之后,逻辑回归在测试Folds上具有更高的平均准确性,表明它是该数据集的更好模型。

现在,对于应用和部署,我是重新在所有数据上训练逻辑回归模型,还是创建从训练K-Folds上的10个逻辑回归模型中的集合?

2个回答

2
CV的主要目标是验证我们没有仅仅依靠偶然性得到数字。因此,我认为您可以只使用单个模型进行部署。
如果您已经对超参数和模型性能感到满意,一种选择是在所有可用数据上进行训练并部署该模型。
另一个明显的选择是部署CV模型之一。
关于集成选项,我认为它不应该比在所有数据上训练的模型提供更好的结果;因为每个模型以类似的参数和架构相同的时间进行训练,但训练数据略有不同。因此,它们不应该表现出不同的性能。根据我的经验,当模型的输出由于架构或输入数据(例如不同的图像尺寸)而不同时,集成会有所帮助。

1
进行k-fold交叉验证时训练的模型不应该被重复使用。CV仅用于可靠地估计模型的性能。
因此,标准方法是在CV之后重新对完整的训练数据进行最终模型的训练。
请注意,评估不同的模型类似于超参数调整,因此理论上选择的最佳模型的性能应在新的测试集上重新评估。但是,在只测试了两个模型的情况下,我认为这在您的情况下并不重要。
您可以在这里那里找到有关k-fold交叉验证的更多详细信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接