当前位置:网站首页>准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP 的图解
准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP 的图解
2022-07-31 10:45:00 【许野平】
机器学习的评价指标让人眼花缭乱。以前我写过一篇笔记总结了这个话题,有兴趣的可以参考一下:一分钟看懂深度学习中的准确率(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的位置,也就是误报率和漏报率会发生变换,而误报和漏报的总量不会发生变化。
边栏推荐
猜你喜欢
Sql optimization summary!detailed!(Required for the latest interview in 2021)
Usage of JOIN in MySQL
Usage of exists in sql
Make your own dataset in FCN and train it
SQL去重的三种方法汇总
Insertion and deletion of doubly linked list
AtCoder—E - Σ[k=0..10^100]floor(X/10^k
【Web技术】1397- 深入浅出富文本编辑器
Meikle Studio--Hongmeng 14-day development training notes (8)
NowCoderTOP28-34二叉树——持续更新ing
随机推荐
【LeetCode】36.有效的数独
透过开发抽奖小程序,体会创新与迭代
【Go事】一眼看穿 Go 的集合和切片
Simple understanding of GCD
面试、工作中常用sql大全(建议收藏备用)
Windows系统Mysql8版本的安装教程
【JWT】JWT 整合
7 days to learn Go, Go structure + Go range to learn
Redis缓存面临的缓存击穿问题
SQLServer2019安装(Windows)
csdn file export to pdf
Build finished with errors/Executable Not Found
众多mock工具,这一次我选对了
因存在自燃安全隐患,宝马7系和5系紧急召回,合计超过5.7万辆
redis-企业级使用
SQL力扣刷题五
《MySQL高级篇》四、索引的存储结构
【LeetCode】387. 字符串中的第一个唯一字符
细讲DDD领域驱动设计
Dart Log tool class