【发布时间】:2022-05-01 06:55:17
【问题描述】:
我正在一个由 41k 观察和约 60 个特征组成的数据集上训练 catboost。该数据集是一个纵向系列(9 年),在空间上分布。目前我只是使用数据的随机重采样,忽略空间和时间依赖性。模型选择使用 5 折 CV 进行,部分数据用作外部测试/保留集。
最佳结果我使用 catboost 获得的 hps 如下:
mtry=37,min_n = 458,tree_depth = 10,学习率 = 0.05
训练 AUC = .962
内部验证 AUC = .867
外部测试 AUC = .870
训练和测试 AUC 之间的差异很大,这表明过度拟合。
第二个 hp 配置反而会减少训练集和测试集之间的差异,但测试性能也会降低。
mtry=19,min_n = 976,tree_depth = 8,学习率 = 0.0003
训练 AUC = .846
内部验证 AUC = .841
外部测试 AUC = .836
我很想使用第一个 hps 配置,因为它在测试集上给了我最好的结果。另一方面,第二个结果对我来说似乎更可靠,因为训练和测试性能非常相似。此外,第二个结果可能更接近我使用空间或时间块重采样策略可以获得的“真实”性能。
那么我的问题是我应该关注训练集和测试集之间的差异,还是只要测试性能不下降(过度拟合后果)我不应该关心它并选择第一个 hps 配置?
【问题讨论】:
标签: performance cross-validation catboost overfitting-underfitting