precision-recall曲线下面积有什么意义?

  统计/机器学习 监督式学习 模型验证    浏览次数: 367
1

precision-recall曲线下面积有什么意义?具体该如何理解呢?

是不是和roc auc一样,小于0.5就说明分类器不够好?

 

huanx8t   2018-09-03 14:19



   3个回答 
7

像kidd23说的precision-recall曲线下面积(AUCPR)是精度precision的期望(加权平均)。首先,二元分类问题对每个数据点生成一个score ,然后设置一个threshold $c$,当score $>c$时输出标签1。

令随机变量X,Y分别表示真实标签为0,1的score,那么二元分类问题的score是两个概率密度函数($p_X(x), p_Y(y)$)组成的混合模型(mixture model),如下图。


$Precision(c)=\dfrac{TP}{TP+FP}$

$Recall(c)=\dfrac{TP}{TP+FN}=P(Y>c)$

再看AUCPR的计算,纵轴长度是$Precision(c)$,横轴的微分长度是$|dRecall(c)|$

$$AUCPR=\int_{-\infty}^{\infty} Precision(c) |dRecall(c)| $$

$$=\int_{-\infty}^{\infty} Precision(c) \dfrac{|dP(Y>c)|}{dc}dc$$

$$=\int_{-\infty}^{\infty} Precision(c) \dfrac{|d(1-P(Y\leq c)|}{dc}dc$$

因为概率分布函数求导得概率密度函数,所以

$$AUCPR=\int_{-\infty}^{\infty}  Precision(c) p_Y(c)dc$$

$$=E_Y(Precision(c))$$

也就是说AUCPR是Precision在概率密度函数$p_Y(c)$上的期望。

SofaSofa数据科学社区 DS面经 问答 实战

Zealing   2018-09-19 01:28

6

大家很熟悉roc auc,它小于0.5就说明不好。

为什么呢?因为随便猜的结果就是0.5。

对于精度-召回曲线下的面积,多少就是不好呢?

当然也是和随便猜相比较。

如果正样本的比例为$\alpha$,那么随便猜的情况下,精度-召回曲线下的面积就是$\alpha$。

如果数据是平衡的,正负各一半,那么精度-召回曲线下的面积等于0.5就不好。

如果数据是非平衡的,正样本占10%,那么精度-召回曲线下的面积等于0.5就说明模型还不错。

------

下面我做了一个simulation,100万个样本,20万个是正标签,80万个是负标签,如果我们随便猜,那么对应的精度-召回面积就是约等于0.2,也就是正样本的比例。

这条线也可以当作是baseline了

SofaSofa数据科学社区 DS面经 问答 实战

jkm_pku   2018-10-07 14:42

4

precision-recall曲线下面积实际上就是等于平均精度(average precision)。与roc auc不同,即使它小于0.5,也不能说明它差。

SofaSofa数据科学社区 DS面经 问答 实战

kidd23   2018-09-16 14:49



  相关主题

利用交叉验证调参后还需要用完整的数据集重新训练吗?   2回答

什么是混淆矩阵(confusion matrix)   2回答

F1值会受到不平衡数据的影响吗?   2回答

k近邻算法(k-NN)怎么选k   2回答

二元分类问题中经常提到的TP,TN,FN,FP都是什么意思?   3回答

多元分类的混淆矩阵   1回答

机器学习里的ppv是什么意思?   1回答

用python求二元分类的混淆矩阵   2回答

如何在保持查全率不变的情况下提高查准率?   1回答

测试集和验证集的区别?   4回答

回归问题中的stratified cross validation?   2回答

Stratified k-fold cross validation(分层交叉验证)   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!