交叉验证+提前停止是否显示小样本的实际性能?

问题描述 投票:0回答:1

我在某些模拟中运行xgboost,其中我的样本大小为125。我正在测量5倍交叉验证误差,即,每轮我的训练样本大小为100,测试样本大小为25。假设所有其他参数是固定的,但是是“ n_estimators”,即增强回合的次数。

我有两个选择:

  • [[为不同的n_estimator运行5倍简历,不使用提前停止-在这种情况下,我可以从简历结果中选择最佳的n_estimator;
  • 将训练样本进一步分为训练(80)和验证(20),在80个训练观察值上训练模型,并监测20个验证观察值的早期停止-在这种情况下,我可以选择一个巨大的n_estimator并让它会自动停止。

问题是

  • 在选项1中,如果我还有另一个单独的测试样本,是否可以对测试数据使用5个交叉验证模型并计算平均/多数投票?还是我需要在所有125个观测点上使用最佳参数再次训练模型,并在测试集上进行预测?
  • 在选项2中,80训练obs是否足以训练模型/ 20验证obs是否足以监控性能? (在选项1中,我们的样本量也较小,但要好一些)
  • 哪个选项更适合将xgboost模型与其他模型进行比较?

摘要:为小样本量选择模型的最佳方法是什么?

cross-validation xgboost train-test-split
1个回答
0
投票
使用非常少量的数据,因为验证数据具有非常高的过拟合风险,因此不建议这样做。选项1比选项2更好,并且对交叉验证求平均要比用最佳参数再次训练模型更好。

但是,在这种小样本情况下,最好的方法是选择一个简单的模型而不是复杂的模型。

© www.soinside.com 2019 - 2024. All rights reserved.