过拟合不是比总分更重要吗(F1:80-60-40% 或 43-40-40)?

数据挖掘 过拟合
2022-03-15 15:47:24

我一直在尝试使用各种分类器对数据集进行建模。响应是高度不平衡的(二进制),我有数值和分类变量,所以我在训练集上应用了 SMOTENC 和随机过采样方法。此外,我使用了一个验证集来通过 GridSearchCV() 调整模型参数。由于精度和召回率对我来说都很重要,我使用f1来找到最佳模型。

我应该注意,我通过聚类分析选择了这三个子集,并通过分层 train_test_split() 从每个聚类中提取样本;所以我更有信心子集有更多的相似性。

由于决策树和随机森林或提升技术的复杂性,我通常在训练集上得到高拟合(高 f1 分数),在验证集上相对较高,但在测试集上中等到低。

过度拟合的一般标志是训练集和测试集(或我的问题中的验证集和测试集)之间的巨大差异;但我很困惑如何在以下情况下选择最佳模型:

案例A:训练契合度非常高;但是验证集和测试集的拟合度很低但彼此接近

案例 B:训练、验证和测试拟合相似;但远低于案例 A。

                            F1 Score
   Model             Train     Val    Test
----------------------------------------  
A: SVC                80.1     60.3    37.5   
B: MLPClassifier:     43.2     40.0    39.1

我知道案例 A 可能是最好的模型,但是不能保证对新数据产生类似的结果,但是对于过度拟合,您选择哪种模型?(假设两个模型的准确率和召回率相似)

1个回答

在您的案例中,最好的模型B不仅因为它在测试集上的得分更高,而且因为它几乎没有显示出过度拟合的迹象。通过不过度拟合并且在其分数(训练/验证/测试)中更加一致,您知道您从模型中得到了什么。如果您明天在辅助测试集上尝试它,您会期望得到类似的结果。

A另一方面,模型非常不一致。如果您在辅助测试集上评估此模型,您无法判断期望值是多少。它可能更高,也可能更低......一般来说,如果您在验证集上过度拟合,那么重新开始是一个很好的指示(将数据集随机重新拆分为训练/验证/测试,预处理,拟合模型)。这次尝试减少超参数选项。

从我看到的数字来看,即使模型B目前优于,但如果经过适当训练AA可能有能力优于。B我建议A从头开始重新进行 model 的训练,但要进行更多的正则化和更少的超参数调整。