信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)和准确率(Precision Rate),召回率也叫查全率,准确率也叫查准率,概念公式: html
召回率(Recall) = 系统检索到的相关文件 / 系统全部相关的文件总数 java
准确率(Precision) = 系统检索到的相关文件 / 系统全部检索到的文件总数 算法
图示表示以下: 工具
注意:准确率和召回率是互相影响的,理想状况下确定是作到二者都高,可是通常状况下准确率高、召回率就低,召回率低、准确率高,固然若是二者都低,那是什么地方出问题了。通常状况,用不一样的阀值,统计出一组不一样阀值下的精确率和召回率,以下图: 性能
若是是作搜索,那就是保证召回的状况下提高准确率;若是作疾病监测、反垃圾,则是保准确率的条件下,提高召回。 spa
因此,在二者都要求高的状况下,能够用F1来衡量。 翻译
F1 = 2 * P * R / (P + R)公式基本上就是这样,可是如何算图1中的A、B、C、D呢?这须要人工标注,人工标注数据须要较多时间且枯燥,若是仅仅是作实验能够用用现成的语料。固然,还有一个办法,找个一个比较成熟的算法做为基准,用该算法的结果做为样原本进行比照,这个方法也有点问题,若是有现成的很好的算法,就不用再研究了。
mAP是为解决P,R,F-measure的单点值局限性的。为了获得 一个可以反映全局性能的指标,能够看考察下图,其中两条曲线(方块点与圆点)分布对应了两个检索系统的准确率-召回率曲线 code
能够看出,虽然两个系统的性能曲线有所交叠可是以圆点标示的系统的性能在绝大多数状况下要远好于用方块标示的系统。 orm
从中咱们能够 发现一点,若是一个系统的性能较好,其曲线应当尽量的向上突出。 htm
更加具体的,曲线与坐标轴之间的面积应当越大。
最理想的系统, 其包含的面积应当是1,而全部系统的包含的面积都应当大于0。这就是用以评价信息检索系统的最经常使用性能指标,平均准确率mAP其规范的定义以下:(其中P,R分别为准确率与召回率)
ROC和AUC是评价分类器的指标,上面第一个图的ABCD仍然使用,只是须要稍微变换。
回到ROC上来,ROC的全名叫作Receiver Operating Characteristic。
ROC关注两个指标
True Positive Rate ( TPR ) = TP / [ TP + FN] ,TPR表明能将正例分对的几率
False Positive Rate( FPR ) = FP / [ FP + TN] ,FPR表明将负例错分为正例的几率
在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)连线的上方。如图所示。
用ROC curve来表示分类器的performance很直观好用。但是,人们老是但愿能有一个数值来标志分类器的好坏。
因而Area Under roc Curve(AUC)就出现了。顾名思义,AUC的值就是处于ROC curve下方的那部分面积的大小。一般,AUC的值介于0.5到1.0之间,较大的AUC表明了较好的Performance。
AUC计算工具:
http://mark.goadrich.com/programs/AUC/P/R和ROC是两个不一样的评价指标和计算方式,通常状况下,检索用前者,分类、识别等用后者。
参考连接:
http://www.vanjor.org/blog/2010/11/recall-precision/