先看几个缩写:

下面两行都是被你预测为正类的数据:
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. 光启数百万美元领投语音识别公司Beyond Verbal
  2. 牛客题霸 SQL2 查找入职员工时间排名倒数第三的员工所有信息
  3. C++静态成员变量和成员函数
  4. WCF学习- 体系结构
  5. 为什么有了MAC层还要走IP层呢?
  6. java 设置系统参数_Java如何设置系统参数和运行参数
  7. 国家哀悼日将网站全部变成灰色的代码
  8. 基于Lock的卖票和生产者消费者案例
  9. Java的对象和类 以学生管理系统为例
  10. wps2019怎么调整字间距_wps2019表格和文字间距太大怎么调整?
  11. 有限元方法的核心思想是什么?
  12. web前端仿网易云官网
  13. 用html制作四行四列的表格,HTML表格
  14. 【Unity项目实战】手把手教学:飞翔的小鸟(2)脚本编写
  15. 【机器学习】一文彻底搞懂自动机器学习AutoML:H2O
  16. 关于100层楼,扔两个鸡蛋,求摔碎鸡蛋的临界层的问题
  17. Python爬虫爬取百度贴吧的帖子
  18. Malaysia Tips
  19. Application Cache is a Douchebag
  20. 命令行 | 登录校园网 | curl

热门文章

  1. 物联网产品的开发的难点,致命点是什么?
  2. 关于SetFocus
  3. python heatmap总结
  4. 文件操作——系统调用函数open函数(含文件描述符介绍)
  5. expdp parallel 并行度效率测试
  6. strdup与strndup
  7. 【目标检测系列】RPN(区域生成网络)流程详细解释
  8. SQL注入-自动注入(sqlmap、pangolin)
  9. hive dynamic partitions insert java.lang.OutOfMemoryError: Java heap space
  10. 产品设计体会(0003)PD就是出来卖的