我正在使用 R 执行 10 折交叉验证来评估一系列模型(变量选择 + 回归)的性能。我使用此代码手动创建了折叠。
目前我正在执行第一个变量选择,然后通过 cv 调整超参数,最后使用 RMSE 和 MAE 测试所有模型的性能,但我有疑问。
对所有模型“使用”相同的折叠是否正确?或者我应该为每个模型做一个单独的简历?
我正在使用 R 执行 10 折交叉验证来评估一系列模型(变量选择 + 回归)的性能。我使用此代码手动创建了折叠。
目前我正在执行第一个变量选择,然后通过 cv 调整超参数,最后使用 RMSE 和 MAE 测试所有模型的性能,但我有疑问。
对所有模型“使用”相同的折叠是否正确?或者我应该为每个模型做一个单独的简历?
我建议尝试两者(不止一次),并探索任何差异。根据我的经验,对所有模型使用相同的折叠组或为每个模型使用一组新的折叠不会产生任何实质性差异。如果您发现不同,请发布!
关于“我正在执行第一个变量选择,然后通过 cv 调整超参数”,也许可以观看https://www.youtube.com/watch?reload=9&v=S06JpVoNaA0以确保您没有引入任何偏差。
如果要评估不同模型的性能,即模型基准测试,则必须保持输入环境相同,即任何外部输入,如 CV(折叠数)。
虽然您可以调整模型特定的参数以优化模型。
恕我直言,我会为所有模型使用相同的折叠。首先,它是可重现的,并且您正在使用相同的数据评估所有模型。因此,基准测试的环境相同。您也可以使用折叠预测进行堆叠。
ps:您可以尝试使用验证集进行超参数调优。