我在某些模拟中运行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模型与其他模型进行比较?
摘要:为小样本量选择模型的最佳方法是什么?