精确调用曲线(PR曲线的AUC)和平均精确度(AP)下的面积


27

平均精度(AP)是精度调用曲线(PR曲线的AUC)下的面积吗?

编辑:

这里有一些关于PR AUC和AP差异的评论。

AUC通过精度的梯形插值获得。另一种通常通常等效的指标是平均精度(AP),以info.ap返回。这是每次召回新的阳性样本时获得的精度平均值。如果精度是由常数段内插的,则它与AUC相同,并且是TREC最常使用的定义。

http://www.vlfeat.org/overview/plots-rank.html

此外,scikit-learn中的aucaverage_precision_score结果不相同。这很奇怪,因为在文档中我们有:

根据预测分数计算平均精度(AP)该分数对应于精度调用曲线下的面积。

这是代码:

# Compute Precision-Recall and plot curve
precision, recall, thresholds = precision_recall_curve(y_test, clf.predict_proba(X_test)[:,1])
area = auc(recall, precision)
print "Area Under PR Curve(AP): %0.2f" % area  #should be same as AP?

print 'AP', average_precision_score(y_test, y_pred, average='weighted')
print 'AP', average_precision_score(y_test, y_pred, average='macro')
print 'AP', average_precision_score(y_test, y_pred, average='micro')
print 'AP', average_precision_score(y_test, y_pred, average='samples')

对于我的分类者来说,我有类似的东西:

Area Under PR Curve(AP): 0.65
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304

Answers:


15

简短的答案是:。平均精度是用于汇总精确度-调用曲线的单个数字:

在此处输入图片说明

您可以使用以下公式近似积分(曲线下的面积):

在此处输入图片说明

请查看此链接以获取良好的解释。


那这个评论呢?“ AUC是通过精度的梯形内插获得的。另一种且通常几乎等效的度量是平均精度(AP),以info.ap的形式返回。这是每次召回新的正样本时获得的精度的平均值。如果精度是通过常数段插值的,则它与AUC相同,并且是TREC最常使用的定义。” vlfeat.org/overview/plots-rank.html
mrgloom

1
我认为the average of the precision obtained every time a new positive sample is recalled是指我给出的链接中解释的内插平均精度。一些作者选择了另一种近似值,称为插值平均精度。令人困惑的是,他们仍然称其为平均精度。
朱巴卜2015年

几个简单的问题:1)为什么要协调(召回率= 0,精度= 1)?对我完全没有意义。2)您可能会观察到,如果我们降低分类器的阈值,则可以返回更多结果,因此,召回率可能不会增加,但是精度可能会有所不同,例如,总共有2个阳性项目,这是排名结果= [False,True,False,False,True],因此pr对= [(p = 0,r = 0),(1/2,1/2),(1/3,1/2),(1 / 4,1/2),(2/5,2/2)],如您所见,对于r = 1/2,存在3 p(即1 / 2、1 / 3、1 / 4) ,就像在r = 0.8的图形中一样,将它们绘制在相同的x轴上就可以了吗?
牛油果

2

average_precision_score 函数期望置信度或概率为第二个参数。

所以您应该按以下方式使用它,

average_precision_score(y_test, clf.predict_proba(X_test)[:,1])

然后是auc功能相同的结果。


WEKA软件和scikit-learn中的不同示例提供CLF评分,但不提供AUC。可能是这个CLF分数实际上与AUC甚至与AUC有关吗?
hhh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.