准确率、召回率、F-Measure

准确率、召回率、F-Measure

1.准确率(Precision)与召回率(Recall)
Precision指的是检索出来的条目(比如:文档、网页等)有多少是准确的,衡量的是检索系统的查准率;
Recall指的是所有准确的条目有多少被检索出来了,衡量的是检索系统的查全率。
两者取值在0和1之间,数值越接近1,查准率或查全率就越高。

2.综合评价指标(F-Measure)
当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高还是Recall比较高。

比如对于法官判案会更偏向于高Precision,Recall低一点也没关系,如果证据不足,那么一般会判无罪,因为冤假错案对于被告、法官本人、社会舆论的影响都会很大。
但是对于艾滋病检查会更偏向于高Recall,Precision低一点也没关系,因为如果把一个艾滋病早期病人误判为阴性,那么可能耽误他最佳治疗时间,而可能会传染更多的人,后果很严重。

综合衡量准确率与召回率的最常见的方法就是F-Measure(又称为F-Score)

F-Measure1

其中β是参数,P是精准率,R是召回率
当参数β>1时,召回率有更大影响,可以考虑为,β无穷大时,分母中的R和分子中的1都可忽略不计,则F=RF=R,只有召回率起作用。
当参数0<β<1时,精准率有更大影响,可以考虑为,β无限接近0时,分母中的β2和分子中的β2都可忽略不计,则F=PF=P,只有精准率起作用。
当参数α=1时,召回率跟准确率就一样重要,就是最常见的F1指标,也就是

F-Measure2

举个栗子:
某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:
正确率 = 700 / (700 + 200 + 100) = 70%
召回率 = 700 / 1400 = 50%
F1指标 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看如果把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:
正确率 = 1400 / (1400 + 300 + 300) = 70%
召回率 = 1400 / 1400 = 100%
F1指标 = 70% * 100% * 2 / (70% + 100%) = 82.35%

你可能感兴趣的:(算法,算法)