• 准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP 的图解


    机器学习的评价指标让人眼花缭乱。以前我写过一篇笔记总结了这个话题,有兴趣的可以参考一下:一分钟看懂深度学习中的准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP

    今天修改一份标准文件,发现算法测试指标定义有些不妥。反复思考后,感觉有必要再次梳理一下对这些概念的认识。

    1. 算法预测结果的四种可能

    算法模型的任何一次预测,只可能有四种情况:

    简称检测结果英文术语含义
    TP真阳性(正报)true positive正确地检测到阳性结果:即检测结果正确,并且结果呈现阳性
    FP假阳性(误报)false positive错误地检测到阳性结果:即检测结果错误,并且结果呈现阳性
    TN真阴性(正舍)true negative正确地检测到阴性结果:即检测结果正确,并且结果呈现阴性
    FN假阴性(漏报)false negative错误地检测到阴性结果:即检测结果错误,并且结果呈现阴性

    2. 常见的五个评价指标

    下图用图形化的方式,把五个常见指标的分数表达式直观地展现出来了。
    请添加图片描述

    3. 五个指标的计算公式

    准确率 = 正确检测次数 总检测次数 准确率=\frac{正确检测次数}{总检测次数}\\ 准确率=总检测次数正确检测次数

    精度 = 正报数 正报数 + 误报数 精度=\frac{正报数}{正报数+误报数} 精度=正报数+误报数正报数

    召回率 = 正报数 正报数 + 漏报数 召回率=\frac{正报数}{正报数+漏报数} 召回率=正报数+漏报数正报数

    机器学习领域喜欢用精度和召回率来评价算法性能,原因是,这两个指标的计算公式的分子是相同的,而分母的差异仅在于误报和漏报。从美学角度看,更简洁优美。

    4. 指标的关系

    精度 + 误报率 = 1 精度+误报率=1 精度+误报率=1

    召回率 + 漏报率 = 1 召回率+漏报率=1 召回率+漏报率=1

    5. 深入思考

    如下图所示,算法精度的提升,意味着直线A向右侧移动,减少蓝色区域的面积。
    如果算法精度不变,修改算法阈值,只能改变直线B的位置,也就是误报率和漏报率会发生变换,而误报和漏报的总量不会发生变化。
    请添加图片描述

  • 相关阅读:
    数据结构与算法训练:第二十七、二十八弹
    Spring的copy属性
    HashMap底层数据是如何存储的呢?
    JAVA面试之容器
    MySQL练习题
    java基础10题
    升级到 MySQL 8.4,MySQL 启动报错:io_setup() failed with EAGAIN
    [SpringBoot]基于jasypt-spring-boot-starter对配置加解密
    JAVA多线程技术-线程的生命周期
    虚拟机的 Ubuntu 没有 /dev/fb0 的解决办法
  • 原文地址:https://blog.csdn.net/quicmous/article/details/126069604