准确率(accuracy),精确率(Precision),召回率(Recall)和综合评价指标(F1-Measure )----转

 
Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);
 
    在信息检索(如搜索引擎)、自然语言处理和检测分类中经常会使用这些参数,介于语言翻译上的原因理解难免出现误差,下面介绍下自己对他们的理解。
 
首先来个定义:
Precision:被检测出来的信息当中 正确的或者相关的(也就是你想要的)信息中所占的比例;
Recall:所有正确的信息或者相关的信息(wanted)被检测出来的比例。
F1-Meature后面定义。
 
查了资料都习惯使用四格图来解释,来个易懂的四格图:
  正确的、相关的(wanted) 不正确的、不相关的
检测出来的
true  positives (纳真tp)
false  positives(纳伪fp)
未检测出来的
false  negatives(去真fn)
true  negatives  (去伪tn)
 
 
表格中的翻译比较重要,可以帮助理解。
true positives (纳真)    false positives(纳伪)
false negatives(去真)true negatives  (去伪)
其中false positives(纳伪)也通常称作误报,false negatives也通常称作漏报!
 
Precision =   tp/(tp + fp);
Recall = tp / (tp + fn).
同样还有另外两个定义
\mbox{True Negative Rate}=\frac{tn}{tn+fp} \,
\mbox{Accuracy}=\frac{tp+tn}{tp+tn+fp+fn} \,

然而在实际当中我们当然希望检索的结果P越高越好,R也越高越好;事实上这两者在某些情况下是矛盾的。比如,我们只搜出了一个结果,且是准确的,那么P就是100%,但是R就很低;而如果我们把所有结果都返回,那么必然R是100%,但是P很低。因此在不同的场合中需要自己判断希望P比较高还是R比较高。如果是做实验,可以绘制Precision-Recall曲线来帮助分析。

F-Measure是Precision和Recall加权调和平均:
F = \frac{(a^2+1)P*R} {a^2(P+R)} \hfill (3)

当参数a=1时,就是最常见的F1了:
F1 = \frac{2PR} {P+R} \hfill (4)

很容易理解,F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。

二、

自然语言处理(ML),机器学习(NLP),信息检索(IR)等领域,评估(evaluation)是一个必要的工作,而其评价指标往往有如下几点:准确率(accuracy),精确率(Precision),召回率(Recall)和F1-Measure。

本文将简单介绍其中几个概念。中文中这几个评价指标翻译各有不同,所以一般情况下推荐使用英文。

现在我先假定一个具体场景作为例子:

扫描二维码关注公众号,回复: 190473 查看本文章

假如某个班级有男生80人,女生20人,共计100人.目标是找出所有女生.
现在某人挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了.
作为评估者的你需要来评估(evaluation)下他的工作

将挑选结果用 矩阵示意表来表示 : 定义TP,FN,FP,TN四种分类情况

  相关(Relevant),正类 无关(NonRelevant),负类
被检索到(Retrieved) TP 系统检索到的相关文档,例"其中20人是女生" FP 系统检索到的不相关文档,例”错误把30个男生当女生“
未被检索到(Not Retrieved) FN 相关系统未检索到的文档,例"未挑0人是女生" TN 相关但是系统没有检索到的文档,例”未挑50人非女生“

准确率(accuracy)的公式是,其定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。也就是损失函数是0-1损失时测试数据集上的准确率

A = (20+50) / 100 = 70%

精确率(precision)的公式是,它计算的是所有被检索到的item中,"应该被检索到"的item占的比例。

P = 20 / (20+30) = 40%

召回率(recall)的公式是,它计算的是所有检索到的item占所有"应该检索到的item"的比例。

R = 20 / (20 + 0) = 100%

综合评价指标(F-Measure)是Precision和Recall加权调和平均:

F = \frac{(a^2+1)P*R} {a^2(P+R)} \hfill (3)

当参数a=1时,就是最常见的F1了:

F1 = \frac{2PR} {P+R} \hfill (4)

P和R指标有的时候是矛盾的,综合考虑精确率(precision)和召回率(recall)这两个度量值。很容易理解,F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。

F1 = 2*0.4*1 / (0.4 + 1) = 57%

猜你喜欢

转载自www.cnblogs.com/6-6-8-8/p/9012213.html