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

  统计/机器学习 监督式学习 模型验证    浏览次数:8313        分享
4

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

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

 

huanx8t   2018-09-03 14:19



   3个回答 
10

像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面试题库 DS面经

Zealing   2018-09-19 01:28

8

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

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

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

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

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

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

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

------

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

这条线也可以当作是baseline了

SofaSofa数据科学社区DS面试题库 DS面经

jkm_pku   2018-10-07 14:42

5

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

SofaSofa数据科学社区DS面试题库 DS面经

kidd23   2018-09-16 14:49



  相关讨论

测试误差小于训练误差,是为什么?

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

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

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

有顺序的多元分类模型应该用评判标准?

logistic回归有哪些指标可以评价模型效果?

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

怎么用KS值来评价二元分类器?

机器学习中lift的概念是什么?怎么用来评价模型?

多元分类问题有没有F1?

  随便看看

非方阵的逆是什么

把pandas.DataFrame中所有行全部随机排列

python里怎么表示科学计数法?

多重检验中的FDR(false discovery rate, 错误发现率)是什么?

dropout rate一般设置多大?