1. > 智能数码 >

准确率召回率 准确率召回率平衡

一图看懂召回率和准确率

在算法大佬们的模型报告中,经常会出现“召回率”和“准确率”这两个指标,作为一名数据分析师,要是听不懂就尴尬啦,话不多说,看下面这个图,一目了然

举例:

在对视频内容进行分类时,视频池里总共有1000条视频,其中100条美食视频。算法大佬通过牛逼的模型识别出200条并打上美食标签,其中50条是真正的美食视频,那么:

召回率=50/100 100%=50%

准确率=50/200 100%=25%

这样一看,是不是很easy

精确率和召回率

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

TP: Ture Positive 把正的判断为正的数目 True Positive,判断正确,且判为了正,即正的预测为正的。

准确率召回率 准确率召回率平衡准确率召回率 准确率召回率平衡


FN: False Negative 把正的错判为负的数目 False Negative,判断错误,且判为了负,即把正的判为了负的

FP: False Positive 把负的错判为正的数目 False Positive, 判断错误,且判为了正,即把负的判为了正的

TN: True Negative 把负的判为负的数目 True Negative,判断正确,且判为了负,即把负的判为了负的

【举例】一个班里有男女生,我们来进行分类,把女生看成正类,男生看成是负类。我们可以用混淆矩阵来描述TP、TN、FP、FN。

混淆矩阵

相关(Relevant),正类 无关(NonRelevant),负类

被检索到(Retrieved) True Positives(TP,正类判定为正类。即女生是女生) False Positives(FP,负类判定为正类,即“存伪”。男生判定为女生)

未被检索到(Not Retrieved) False Negatives(FN,正类判定为负类,即“去真”。女生判定为男生) True Negatives(TN,负类判定为负类。即男生判定为男生)

1. 准确率 (Accuracy)

准确率是指有在所有的判断中有多少判断正确的,即把正的判断为正的,还有把负的判断为负的;总共有 TP + FN + FP + TN 个,所以准确率:Acc = (TP+TN) / (TP+TN+FN+FP)

2. 精确率(Precision)

精确率是相对于预测结果而言的,它表示的是预测为正的样本中有多少是对的;那么预测为正的样本就有两种可能来源,一种是把正的预测为正的,这类有TruePositive个, 另外一种是把负的错判为正的,这类有FalsePositive个,因此精确率即:P= TP / (TP+FP)

3. 召回率 (Recall)

召回率是相对于样本而言的,即样本中有多少正样本被预测正确了,这样的有TP个,所有的正样本有两个去向,一个是被判为正的,另一个是错判为负的,因此总共有TP+FN个,所以,召回率 R= TP / (TP+FN)

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

4.F-Measure

P和R指标有的时候是矛盾的,那么有没有办法综合考虑他们呢?我想方法肯定是有很多的,最常见的方法应该就是F-Measure了

F-Measure是Precision和Recall加权调和平均:

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

F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。将Precision和Recall的上述公式带入会发现,当F1值小时,True Positive相对增加,而false相对减少,即Precision和Recall都相对增加,即F1对Precision和Recall都进行了加权。

精确率,准确率,召回率,F-score

TP (true positives):正类被判断为正类;

FP (false positives):负类被判断为负类;

准确率召回率 准确率召回率平衡准确率召回率 准确率召回率平衡


FN (false negatives):正类被判断为负类;

准确率召回率 准确率召回率平衡准确率召回率 准确率召回率平衡


TN (true negatives):负类被判断为负类;

精确率(precision): 是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP);

召回率(recall): 表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN);

准确率(accuracy): 所有的预测正确(正类负类)的占总的比重。

F-score值: F1值为算数平均数除以几何平均数,且越大越好,将Precision和Recall的上述公式带入会发现,当F1值小时,True Positive相对增加,而false相对减少,即Precision和Recall都相对增加,即F1对Precision和Recall都进行了加权。

1. 准确率

虽然准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。

比如在样本集中,正样本有90个,负样本有10个,样本是严重的不均衡。对于这种情况,我们只需要将全部样本预测为正样本,就能得到90%的准确率,但是完全没有意义。对于新数据,完全体现不出准确率。因此,在样本不平衡的情况下,得到的高准确率没有任何意义,此时准确率就会失效。所以,我们需要寻找新的指标来评价模型的优劣。

2 . 精确率

精确率(Precision) 是针对预测结果而言的,其含义是在被所有预测为正的样本中实际为正样本的概率,精确率和准确率看上去有些类似,但是是两个完全不同的概念。精确率代表对正样本结果中的预测准确程度,准确率则代表整体的预测准确程度,包括正样本和负样本。

3. 召回率

召回率(Recall) 是针对原样本而言的,其含义是在实际为正的样本中被预测为正样本的概率。

准确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”:追求准确率高,则召回率就低;追求召回率高,则通常会影响准确率。我们当然希望预测的结果precision越高越好, recall越高越好, 但事实上这两者在某些情况下是矛盾的。这样就需要综合考虑它们,最常见的方法就是F-score。 也可以绘制出P-R曲线图,观察它们的分布情况。

4. F-score

一般来说准确率和召回率呈负相关,一个高,一个就低,如果两个都低,一定是有问题的。 一般来说,精确度和召回率之间是矛盾的,这里引入F1-Score作为综合指标,就是为了平衡准确率和召回率的影响,较为全面地评价一个分类器。F1是精确率和召回率的调和平均。

正确率和召回率

正确率(Precsion)和召回率(Recall)是广泛应用于信息检索和统计学分类领域的两个度量值,用来评估结果的质量。

一般来说,正确率就是检索出来的条目有多少是正确的,召回率就是所有正确的条目有多少被检索出来

是综合上面两个指标的估计指标,用于反映整体的指标

这几个指标的取值都在 0 - 1 之间,数值越接近于 1 效果越好。

有三类事物分别为 A,B 和 C 他们数量分别是 1400,300,300 我们目标获得更多的 A,进行一次收集后得到 A B 和 C 数量分别是 700,200 和 100 那么

我们希望检索的结果的正确率越高越好,同时也希望召回率越高越好不过在某些情况他们之间是矛盾的。有的时候我们想要提高准确率就会影响召回率,反之亦然。

正式因为正确率和召回率指标有时候出现的矛盾原因,我们可以通过 F-Measue 来综合考虑指标这时候我们就可以用 F1值来综合考虑。

其实上面介绍 F1公式是这个 公式的特例。

准确率、精确率、召回率

准确率 (accuracy) = (TP + TN) / (TP + FN + FP + TN)

通俗解释: 在所有样本中,预测正确的概率

精确率 (precision)= TP / (TP + FP)

通俗解释:你认为的正样本中,有多少是真的正确的概率

召回率 (recall) = TP / (TP + FN)

通俗解释:正样本中有多少是被找了出来

某池塘有1400条鲤鱼,300只虾,300只鳖。

现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。

那么,这些指标分别如下:

出处

终于有人讲清楚准确率(accuracy)、召唤率(recall)和精确率(precision)的关系

召回率(R值),准确率(P值)及F值

一直总是听说过这几个词,但是很容易记混,在这里记录一下。希望对大家理解有帮助。

首先来做一个总结:

精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。

用公式表达如下:

假设我此时想吃香蕉,实验室里面每天都会安排10个水果,水果种类分别是6个香蕉,3个橘子,1个菠萝。哎,但是,实验室主任搞事情啊,为了提高我们吃水果的动力与趣味,告诉我们10个水果放在黑盒子中,每个人是看不到自己拿的什么,每次拿5个出来,哎,我去抽了,抽出了2个香蕉,2个橘子,1个菠萝。

下面我们来分别求求P值,R值,F值,哈哈!

按照一开始说的,精确率是针对我们 预测结果 而言的,它表示的是预测为正的样本中有多少是真正的正样本。

这里我们的正样本就是我想吃的香蕉!

在预测结果中,有2个香蕉,总个数是我拿的5个,那么P值计算如下:

召回率(R值)

按照开始总结所说。

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。

我们这里的正类是我想吃的香蕉,而在样本中的香蕉个数是6个,召回率的召回也可以这么理解,代表了,原始样本中正类召回了多少。R值计算如下:

分母已经变成了样本中香蕉的个数啦

F值

可能很多人就会问了,有了召回率和准去率这俩个评价指标后,不就非常好了,为什么要有F值这个评价量的存在呢?

按照高中语文老师所说的,存在即合理的说法,既然F值存在了,那么一定有它存在的必要性,哈哈哈哈!

我们在评价的时候,当然是希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。

比如极端情况下,在我们这个例子中,我们只搜索出了一个结果,且是香蕉,那么Precision就是100%,但是Recall为1/6就很低;而如果我们抽取10个水果,那么比如Recall是100%,但是Precision为6/10,相对来说就会比较低。

因此P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure,通过计算F值来评价一个指标!

我这里给出最常见的F1计算方法,如下:

F1 = (2 P R)/(P+R)

F那么在我们这个例子中F1 = (2 2/5 2/6)/(2/5+2/6)(这里我就不算出来了,有这个形式,更加能体现公式特点!)

希望对大家理解有所帮助~

参考:

推荐系统评测指标-准确率(Precision)、召回率(Recall)、F值(F-Measure) | 书影博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息