先看几个缩写:

下面两行都是被你预测为正类的数据:
TP(True Positive):正确正类。(实际样本是正样本,你正确地判断成了正样本)
FP(False Positive): 错误正类。(实际样本是负样本,你错误地把它当成了正样本)

下面两行都是被你预测成了负类的数据:
TN(True Negative):正确负类,把负样本预测为负。(你预测对了)
FN(False Negative):错误负类,把正样本预测为负。(你预测错了)

所以 Positive / Negative 是你预测的结果,你把那些样本预测成了 正类 / 负类
True / Flase 表示你的结果正确与否。不管你预测成正类或负类,True就是你预测对了,Flase就是你预测错了。

图1

结合上面的解释和图示就很好理解了,在图中:
左边全是正类(绿色圈圈),个数是42个。
右边全是负类(红色圈圈),个数也是42个。

图中共有4个区域:

  • 在正类中:
  1. 预测对了:被预测为正类的(TP,True Positive)的个数是32个。
  2. 预测错了:被预测为负类的(FN,False Negative)的个数是10个。
  • 在负类中:
  1. 预测错了:被预测为正类的(FP,Flase Positive)的个数是14个。
  2. 预测对了:被预测为负类的(TN,True Negative)的个数是28个。

下面结合图示进行分析:

精确率(Precision)

P = T P T P + F P P = {\frac {TP} {TP+FP}} P=TP+FPTP​

  所以精确率就是,在所有被你预测为正类的数据中,预测对的(真正的正类)占多少。
  按照图1的例子,这里精确率就是:
P = T P T P + F P = 32 32 + 14 = 32 46 = 69.565 % P = {\frac {TP} {TP+FP}}={\frac {32} {32+14}}={\frac {32} {46}}=69.565\% P=TP+FPTP​=32+1432​=4632​=69.565%

  很遗憾,精确率不是很高,看着分母你会想,要是 FP(Flase Positive) 再少一点就好了。然而,就算 Flase Positive0 也不够,虽然此时 P = 100 % P=100\% P=100% ,但是在正类里面你还没有全部预测对,还漏了10个正类。

图2 精确率示意图

召回率(Recall)

R = T P T P + F N R = {\frac {TP} {TP+FN}} R=TP+FNTP​

  所以召回率就是,在所有真正的正类中,你成功预测到的占了多少。
  按照图1的示例,这里召回率是:

R = T P T P + F N = 32 32 + 10 = 32 42 = 76.19 % R = {\frac {TP} {TP+FN}}={\frac {32} {32+10}}={\frac {32} {42}}=76.19\% R=TP+FNTP​=32+1032​=4232​=76.19%

  怎样提高召回率?请看看公式或者看图。

图3 召回率示意图

准确率(Accuracy)

a c c = T P + T N T P + F P + T N + F N acc = {\frac {TP+TN} {TP+FP+TN+FN}} acc=TP+FP+TN+FNTP+TN​
  所以准确率就是,在所有样本中,你预测对的占多少。
  哪些是预测对的?正类里面你预测到了几个正类 + 负类里面你预测到了几个负类。
  按照图1的示例,这里准确率是:

a c c = T P + T N T P + F P + T N + F N = 32 + 28 32 + 10 + 28 + 14 = 32 + 28 84 = 71.43 % acc = {\frac {TP+TN} {TP+FP+TN+FN}}={\frac {32+28} {32+10+28+14}}={\frac {32+28} {84}}=71.43\% acc=TP+FP+TN+FNTP+TN​=32+10+28+1432+28​=8432+28​=71.43%

目标检测中的准确率:
由于目标检测中没有 TN(因为预测框太多,低于得分的都直接去掉了,没有加入评价指标中),所以这里令 TN 为 0。

所以
a c c = T P + T N T P + F P + T N + F N = T P T P + F P + F N \begin{aligned} acc &= {\frac {TP+TN} {TP+FP+TN+FN}} \\[1em] & = \dfrac{TP}{TP+FP+FN} \end{aligned} acc​=TP+FP+TN+FNTP+TN​=TP+FP+FNTP​​

T P + F N TP + FN TP+FN 就是所有的真实目标,设为单位 1 1 1;那么 T P = 1 ∗ R TP=1 * R TP=1∗R,就是召回。

F P = T P P − T P = R P − R FP = \dfrac{TP}{P} - TP = \dfrac{R}{P} - R FP=PTP​−TP=PR​−R。

所以
a c c = R 1 + F P = R 1 + R P − R = R P P + R P − P R P = P R P + R − P R \begin{aligned} acc &= \frac {R} {1+ FP} \\[2em] & = \dfrac{R}{1+\dfrac{R}{P} - R} \\[2em] & = \dfrac{R}{\dfrac{P}{P} + \dfrac{R}{P} - \dfrac{PR}{P}} \\[2em] & = \dfrac{PR}{ P + R - PR} \end{aligned} acc​=1+FPR​=1+PR​−RR​=PP​+PR​−PPR​R​=P+R−PRPR​​

目标检测中精确率,召回率,准确率的意思相关推荐

  1. 目标检测中准确率accuracy的计算(precision是精度、查准率)(Recall是召回率、查全率)

    准确率定义为: 查准率P和查全率R分别定义为: 查准率关心的是"预测出正例的正确率"即从正反例子中挑选出正例的问题. 查全率关心的是"预测出正例的保证性"即从正 ...

  2. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集

    各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...

  3. 精度,精确率,召回率_了解并记住精度和召回率

    精度,精确率,召回率 Hello folks, greetings. So, maybe you are thinking what's so hard in precision and recall ...

  4. 机器学习(15)精确率召回率F1-score(查看癌症预测结果的精确率、召回率)

    目录 一.基础理论 1.混淆矩阵 2.精确率 3.召回率 4.F1-score 二.查看癌症预测结果的精确率.召回率 API 查看癌症预测结果的精确率.召回率 总代码 一.基础理论 1.混淆矩阵 预测 ...

  5. 机器学习中精准率/召回率/PR曲线/AUC-ROC曲线等概念

    目录 TP/TN/FP/FN accuracy(准确率) precision(精确率/查准率) recall(召回率/查全率) F1分数与Fβ分数 PR曲线(precision recall curv ...

  6. 算法评价指标:准确率+精准率+召回率

    评价指标: (1)(True Postive TP): 若一个实例是正类,但是被预测成为正类,即为真正类 (2)(True Negative TN): 若一个实例是负类,但是被预测成为负类,即为真负类 ...

  7. 深度神经网络在基于视觉的目标检测中的应用

    简 介: 目标检测是计算机视觉的一个重要应用方向,深度神经网络的提出极大地帮助基于视觉的目标检测提高了准确度.自2014年以来,深度神经网络在基于视觉的目标检测中被广泛应用,出现了多种算法.本文分别讨 ...

  8. 综合评价模型的缺点_【必备】目标检测中的评价指标有哪些?

    在人工智能领域,机器学习的效果需要用各种指标来评价.当一个目标检测模型建立好了之后,即模型训练已经完成,我们就可以利用这个模型进行分类识别.那么该如何去评价这个模型的性能呢? 上期我们一起学习了全卷积 ...

  9. 通俗地讲解目标检测中AP指标

    声明:以下内容全是我的个人见解,如有问题,欢迎指正! AP(Average Precision)即平均精度,是目标检测中的一个常用指标. 一.精确率和召回率 说道AP,那不得不提准确率和召回率.首先我 ...

  10. 【论文阅读】目标检测中的分类回归特征解耦

    论文来源:知网 以下仅仅是学习过程中的部分笔记,用作自己复习. 摘要 ..... 目标检测不仅需要判别图像中存在的目标的类别,还需要回归目标在图像中的位置. 特征耦合具体表现:分类和回归部分的网络共享 ...

最新文章

  1. 摩卡业务服务管理(Mocha BSM)解决方案
  2. 虚拟主机升级服务器,云虚拟主机升级云服务器
  3. 读取TFrecord
  4. cocos2dx 开启控制台
  5. linux下用c语言写黄金矿工,C语言写的黄金矿工O(∩_∩)O---初稿,能玩了
  6. 2017级软件2班安卓应用开发课程主页
  7. Python数据可视化1.5 可视化图像
  8. Ubuntu16.04再次装机记
  9. CentOS7下Tomcat启动慢的原因及解决方案
  10. 北邮 形式语言与自动机
  11. 信息论相对熵的凸性证明
  12. 山石网科Hillstone防火墙L2TP详细配置步骤(官方最新版)
  13. luogu1330 封锁阳光大学
  14. 向量的加减(运算符重载)
  15. Maven 私服 Nexus 的部署及项目应用
  16. 20张高清数据分析全知识地图,拿去吧你
  17. mumu按键精灵_魂器学院,新手做的按键精灵脚本,基本每天的日常任务可做,mumu模拟器的...
  18. 如何分析多个宅急送物流详情,并筛选代收单号
  19. Linux服务器卡顿如何排查
  20. 天水訟 (易經大意 韓長庚)

热门文章

  1. 10.2 字符串(2)
  2. poj2485:highways(高速公路)(最小生成树算法)
  3. 正则表达式匹配包含或不包含某特定字符的字符串
  4. KindEditor编辑器的使用方法
  5. Mybatis-Plus中的物理删除与逻辑删除
  6. JS转义字符汇总 斜杠“/”无需转义
  7. 如何使用PHP编写爬虫程序
  8. 数据结构之——图的遍历
  9. SIFT算法的Matlab实现
  10. 数据迁移测试经验分享