信息检索的评价指标(Precision、Recall、F-score、MAP、ROC、AUC)

▼魔方 西西 提交于 2020-08-11 05:32:13

from:https://blog.csdn.net/universe_ant/article/details/70090026

一:Precision、Recall、F-score

信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)准确率(Precision Rate——注意统计学习方法中precision称为精确率,而准确率accuracy是分类正确的样本除以总样本的个数),召回率也叫查全率,准确率也叫查准率,概念公式:

召回率(Recall) = 系统检索到的相关文件 / 系统所有相关的文件总数。亦即,预测为真实正例 / 所有真实正例样本的个数。

准确率(Precision) = 系统检索到的相关文件 / 系统所有检索到的文件总数。亦即,预测为真实正例 / 所有被预测为正例样本的个数。


注意:准确率和召回率是相互影响的,理想情况下肯定是做到两者都高,但是一般情况下,准确率高、召回率就低;召回率低、准确率高。当然如果两者都低,那是什么地方出问题了。一般情况,用不同的阈值,统计出一组不同阈值下的精确率和召回率,如下图:


如果是做搜索,那就是保证召回率的情况下提升准确率;如果做疾病检测、反垃圾,则是保证准确率的条件下,提升召回率。所以,在两者都要求高的情况下,可以用F1(或者称为F-score)来衡量。计算公式如下:F1 = (2 × P × R) / (P + R)。


二:MAP

MAP,全称Mean Average Precision(平均准确率)。MAP是为解决Precision、Recall、F-score的单点值局限性的,同时考虑检索效果的排名情况。计算如下:假设有两个主题,主题1有4个相关网页,主题2有5个相关网页。某系统对于主题1检索出4个相关网页,其rank分别为1,2,4,7;对于主题2检索出3个相关网页,其rank分别为1,3,5。对于主题1,平均准确率为(1/1+2/2+3/4+4/7) / 4 = 0.83。对于主题2,平均准确率为(1/1+2/3+3/5+0+0) / 5 = 2.45。则MAP=(0.83+0.45) / 2 = 0.64。


三:ROC和AUC

ROC和AUC是评价分类器的指标,上面第一个图的ABCD仍然使用,只是需要稍微变换。


用ROC curve来表示分类器的performance很直观好用。可是,人们总是希望能有一个数值来标志分类器的好坏。

于是Area Under roc Curve(AUC)就出现了。顾名思义,AUC的值就是处于ROC curve下方的那部分面积的大小。

通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的performance。

回到ROC上来,ROC的全名叫做Receiver Operating Characteristic。

ROC关注两个指标:

True Positive Rate(TPR) = TP / [ TP + FN ],TPR代表能将正例分对的概率;

False Positive Rate(FPR) = FP / [ FP + TN ],FRP代表将负离错分成正例的概率。

在ROC空间中,每个点的横坐标是FPR,纵坐标是TPR,这也就描绘了分类器在TP(真正的正例)和FP(错误的正例)间的trade-off。ROC的主要分析工具是一个画在ROC空间的曲线——ROC curve。我们知道,对于二值分类问题,实例的值往往是连续值,我们通过设定一个阈值,将实例分类到正类或者父类(比如大于阈值的划分为正类)。因此我们可以变化阈值,根据不同的阈值进行分类,根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve。ROC curve经过(0, 0)和(1, 1),实际上(0, 0)和(1, 1)连线形成的ROC curve实际上代表的是一个随机分类器。一般情况下,这个曲线都应该处于(0, 0)和(1, 1)连线的上方。如图所示:


AUC的值就是处于ROC下方的那部分面积的大小。通常AUC的值介于0.5到1.0之间,较大的AUC代表了较好的performance。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!