学习经历|召回率、精确率、精确度、F值


    • 召回率、准确率和F值
      • 召回率
      • 精确率
      • 例子

召回率、准确率和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)
【学习经历|召回率、精确率、精确度、F值】Recall = (预测为1且正确预测的样本数)/(所有真实情况为1的样本数) = TP/(TP+FN)

    推荐阅读