precision-recall曲线下面积有什么意义?具体该如何理解呢?
是不是和roc auc一样,小于0.5就说明分类器不够好?
3个回答
像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$$
因为概率分布函数求导得概率密度函数,所以
$$AUCPR=\int_{-\infty}^{\infty} Precision(c) p_Y(c)dc$$
$$=E_Y(Precision(c))$$
也就是说AUCPR是Precision在概率密度函数$p_Y(c)$上的期望。
大家很熟悉roc auc,它小于0.5就说明不好。
为什么呢?因为随便猜的结果就是0.5。
对于精度-召回曲线下的面积,多少就是不好呢?
当然也是和随便猜相比较。
如果正样本的比例为$\alpha$,那么随便猜的情况下,精度-召回曲线下的面积就是$\alpha$。
如果数据是平衡的,正负各一半,那么精度-召回曲线下的面积等于0.5就不好。
如果数据是非平衡的,正样本占10%,那么精度-召回曲线下的面积等于0.5就说明模型还不错。
------
下面我做了一个simulation,100万个样本,20万个是正标签,80万个是负标签,如果我们随便猜,那么对应的精度-召回面积就是约等于0.2,也就是正样本的比例。
这条线也可以当作是baseline了
SofaSofa数据科学社区DS面试题库 DS面经precision-recall曲线下面积实际上就是等于平均精度(average precision)。与roc auc不同,即使它小于0.5,也不能说明它差。
SofaSofa数据科学社区DS面试题库 DS面经