在不平衡数据上使用AUPRC替代ROC-AUC

ROC曲线和曲线下面积AUC被广泛用于评估二元分类器的性能。但是有时,基于精确召回曲线下面积 (AUPRC) 的测量来评估不平衡数据的分类却更为合适。

本文将详细比较这两种测量方法,并说明在AUPRC数据不平衡的情况下衡量性能时的优势

预备知识——计算曲线

我假设您熟悉准确率和召回率以及混淆矩阵的元素(TP、FN、FP、TN)这些基本知识。如果你不熟悉可以搜索我们以前的文章。

现在,让我们快速回顾一下 ROC 曲线和 PRC 的计算。

假设我们有一个二元分类器来预测概率。给定一个新的例子,它输出正类的概率。我们取一个包含 3 个正例和 2 个负例的测试集,计算分类器的预测概率——在下图中按降序对它们进行排序。在相邻的预测之间,放置一个阈值并计算相应的评估度量,TPR(相当于Recall)、FPR和Precision。每个阈值代表一个二元分类器,其预测对其上方的点为正,对其下方的点为负——评估度量是针对该分类器计算的。

图 1:在给定概率和基本事实的情况下,计算 ROC 曲线和 PRC。这些点按正类概率排序(最高概率在顶部),绿色和红色分别代表正标签或负标签。

我们可以绘制 ROC 曲线和 PRC:

图 2:根据图 1 中描述的数据绘制 ROC 曲线和 PRC。

计算每条曲线下的面积很简单——这些面积如图 2 所示。AUPRC 也称为平均精度 (AP),这是一个来自信息检索领域的术语(稍后会详细介绍)。

在 sklearn 中,我们可以使用 sklearn.metrics.roc_auc_score 和 sklearn.metrics.average_precision_score。

完整文章:

https://avoid.overfit.cn/post/8faa6d1d4ca0401bbb74da48db4e0c7f

posted @ 2022-06-09 11:14  deephub  阅读(524)  评论(0)    收藏  举报