我对我的数据进行了 10 倍的交叉验证,并从结果中选择了最佳模型。通过交叉验证,我将有 10 个模型从不同的数据折叠中训练出来。对于要使用的最终模型,我应该取模型的平均值还是只为整个训练集拟合一个模型?
交叉验证的最佳实践
数据挖掘
交叉验证
2022-03-06 16:40:56
4个回答
通常,您会使用最佳模型参数,然后使用为训练留出的部分数据重新运行模型,以得出一个可以针对您的测试集运行的新“最佳”模型。
我建议你阅读关于K-Fold CV的帖子
一旦我们得到每个模型的平均分数,我们通常会从中选择最好的模型。
交叉验证是一个过程,用于通过您选择的过程(模型类型、预处理、所选超参数等)了解模型性能。假设您有 2 个模型 A 和 B,并且您想知道选择哪个模型。您将在两个模型上执行相似的 CV,并平均两个 CV 的分数以估计它们的性能。
假设A表现更好。因此,您将选择 A,然后在整个训练集上进行训练,然后在测试集上进行预测。同样的过程也适用于超参数调整。
您应该取您获得的 CV 分数的平均值。该分数将是模型性能的“指标”,而不是“最终”模型。
我们通常采用最佳模型。但是我在 Kaggle 上看到了一个笔记本,用户从 k-fold 验证中提取了最好的两个模型,然后在集成学习中使用了它们。她给最好的模特60%的权重,给第二好的模特40%的权重。你可以试试。不疼,rt?
其它你可能感兴趣的问题