召回率

在做支持向量机的数据分析时,打印了一下classification_report报告结果如下:

    precision    recall  f1-score   support

          0       0.92      1.00      0.96        35
          1       0.96      0.98      0.97        54
          2       0.98      1.00      0.99        44
          3       0.93      0.93      0.93        46
          4       0.97      1.00      0.99        35
          5       0.94      0.94      0.94        48
          6       0.96      0.98      0.97        51
          7       0.92      1.00      0.96        35
          8       0.98      0.84      0.91        58
          9       0.95      0.91      0.93        44

avg / total       0.95      0.95      0.95       450

于是我们会疑惑,precision和recall是什么指标呢?

我个人的理解是一下几点:

首先,我们要能够想到预测结果有哪几种情况,假设预测之前有两种情况A、B,那么结果无非是AA、AB、BA、BB以下四种情况,AA表示,真实是属于A,预测结果也是A;同理AB,是指真实是属于A,预测结果却是B(这说明预测错误了)

真实情况预测结果
100A1(78)B1(22) 
A(80)AA(76)AB(4) 
B(20)BA(2)BB(18) 

上面表格的例子里我假设预测出来的结果是A1:78,B1:22,真实情况是A预测结果也是A即AA是76,那么AB=A-AA

BA=A1-AA,以此推算,AB、BB都能求出来。

接下来我们就来解释一下precision和recall两个指标:

其实这两个指标是从两个层次说明一个问题。这个问题就是,你的预测结果到底怎么样?报告给我们这两个指标precision是指正确率,谁的正确率呢?就是针对这次预测行为产生的正确率,76/78,召回率呢,就是就是样本里放出去80个A去测试,结果呢,只测试出78个A,相当于我只能收回来预测正确的76个(错误的总不能召回吧),所以召回率就是76/80

那么我们又怎么和手写体识别联系起来呢。就是在机器学习数据测试集的时候,我给出一百个样本用来测试,但是只有80个是对应正确结果的,举个例子,100张图片进行图像识别数字0,里面只有80张图片是手写的0,其他的20张不是,结果预测出来78张是对应数字0的,但是这78张并不是完全正确的,里面完全正确的只有76张是正确的,那精确率是多少?当然是76/78,这是对预测这一行为做出的评价。那我放出去的那80张正确图片还能召回多少呢,当然是76个,显然召回率就是76/80。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值