召回率、精确率、精确度、F值

时间:2024-03-23 11:01:42

召回率、准确率和F值

  信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)和准确率(Precision Rate),召回率也叫查全率,准确率也叫查准率

召回率

  • 召回率也叫查全率

我预测中真正正确的数目与测试数据集中的真正正确的比值
召回率 = 系统检索到的相关文件/系统所有相关的文件综述

召回率只针对针对我们原来的样本而言的,他表示的是样本中的正例有多少被预测正确了(也就是说,我用的样本中的正确的样本,有多少被系统找了出来认为是正确的,顾名思义,是为召回)

精确率

  • 精确率也叫查准率

我预测中真正正确的数目与我预测的数目之比
准确率 = 系统检索到的相关文件 / 系统所有检索到的文件总数

精确率是针对我们预测结果而言的,他表示的是预测为正的样本中有多少是真正的正样本,简言之,我们的系统认为正确(系统认为正确的事实上当然有可能是错误的,预测而已嘛)的样本数目中有多少是真正正确的

图示信息如下:
召回率、精确率、精确度、F值

例子

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

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

  • 准确率(P值)

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

    我想吃香蕉,就是正样本是香蕉(我想正确预测出香蕉),我拿了五了,我认为这五个是香蕉(因为我想吃香蕉,所以我期望我拿的都是香蕉喽),也就是我在这里预测为正的样本数为5,但是里面真正的正样本值有2个,所以在这里:

    P(准确率)=2/5

  • 召回率

    按照开始总结所说。召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。也就是说我的样本(所有水果)数目是10,其中的正例(香蕉)是6个,在6个正例中被预测正确(被我抓出来)的数目是2,所以:

    R(召回率) =2/6

  • F值

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

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

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

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

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

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

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

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

  • Accuracy/Precision/Recall的定义

Accuracy = (预测正确的样本数)/(总样本数)=(TP+TN)/(TP+TN+FP+FN)

Precision = (预测为1且正确预测的样本数)/(所有预测为1的样本数) = TP/(TP+FP)

Recall = (预测为1且正确预测的样本数)/(所有真实情况为1的样本数) = TP/(TP+FN)