在平衡数据上训练的二元分类器的精确召回曲线较差,测试数据不平衡

数据挖掘 分类 随机森林 阶级失衡
2022-03-01 13:41:21

我有一个非常不平衡的数据集 (9:1),为此我执行了欠采样并实现了平衡的训练集(大约 130k 样本总后平衡)。

我正在使用 RandomForest 进行分类。我的测试集包含不平衡的数据(因为这是在现实世界中的预期),我的 ROC 曲线非常好,AUC=0.873。但是,我的 PR 曲线受到影响,AUC=0.547。

具有不平衡测试数据的 PR 曲线

如果我平衡测试数据,我会看到更好的 AUC;然而,这不是过去事实的表现,因此引用平衡测试数据的性能似乎不太合理。

平衡测试数据的 PR 曲线

我究竟做错了什么?我应该训练不平衡的数据吗?或者有什么方法可以改善 PR 曲线?

1个回答

精确召回曲线和 ROC 曲线对类别不平衡的反应非常不同。精确召回曲线对不平衡非常敏感,而 ROC 曲线可以掩盖不平衡的影响。

对于 TPR (=recall) 和 FPR,您除以每个类中的真实样本数,而对于精度,您除以正预测数。

如果您的阳性样本很少,则假阳性和真阳性之间的比率会变得更加敏感(与假阳性 [few] 和所有真阴性 [many] 相比)。

根据您的用例,这可能是一个问题(或不是),应该是您评估的一部分。