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

Python017

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

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

首先来做一个总结:

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

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

用公式表达如下:

假设我此时想吃香蕉,实验室里面每天都会安排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) | 书影博客

t值是对单个变量显著性的检验,t值的绝对值大于临界值说明该变量是显著的,要注意的是t检验是对总体当中变量是否是真正影响因变量的一个变量的检验,即检验总体中该变量的参数是否为零,只不过总体中变量的参数永远未知,只能用其无偏估量(参数的样本估计量)来代替进行检验.

F值是对所有解释变量整体显著性的检验,其原假设是所有的解释变量的参数都为零,而只要其中至少有一个解释变量的参数不为零就说明解释变量在整体上对因变量有显著性的影响,但仅依靠F检验是无法判断究竟哪个自变量对因变量有显著性的影响,必须进一步对每一个变量进行t检验。

R平方值表明了模型对样本数据的拟合程度,其值越高说明模型对样本数据拟合得更好,要注意R平方值是样本依赖的,就是说R平方值判别模型的一个潜在的假设是你所抽取的样本是真正来自于你所研究的总体,而现实当中这一点往往难以做到。我们进行计量经济分析的最终目的是要依据样本数据来研究总体的规律性,那么相应的检验也是要对总体进行,而R平房值的高低仅代表模型对样本数据的拟合程度,并不能说明总体当中变量的显著性,虽然F统计量和R平方值有换算关系,但是二者的构造机理是完全不同的,包括t检验都是针对总体的检验,所以在现实中我们一般不对R平方值的大小给与太大的关注,而更看重 t检验 的结果,试想如果你抽取的一组样本不是来自于你真正要研究的对象的总体,即使R平方值再高、那也说明不了问题。