我们的团队目前正在使用 CatBoost 来开发信用评分模型,我们当前的流程是...
- 按时间顺序对数据进行排序以进行超时采样,并将其分为训练集、有效集和测试集
- 执行特征工程
- 在列车上执行特征选择和超参数调整(主要是学习率),使用 valid 作为早期停止的评估集
- 对训练集和有效集进行超参数调优,使用测试集作为早期停止的评估集
- 使用标准指标(RMSE、ROC AUC 等)评估第 4 步的结果
但是,我担心我们可能会过度拟合步骤 #4 中的测试集。
在第 4 步中,我们是否应该在训练中重新拟合模型并使其在不进行调整的情况下有效(即使用第 3 步中选定的特征和超参数)?
由于我们的采样方案过时,所以进行第 4 步的动机是根据更新的数据训练模型。
最佳答案
第 4 步不属于机器学习的最佳实践。
创建测试集时,您需要将其放在一边,仅在最后使用它来评估模型在预测方面的成功程度。不要使用测试集来通知超参数调整!如果这样做,您的数据就会过度拟合。
尝试使用cross-validation相反:
关于python - CatBoost:我们是否过度拟合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69651225/