当前位置: 首页 > article >正文

简单理解精确率(Precision)和召回率(Recall)

温故而知新,可以为师矣!

一、参考资料

分类问题的评价指标:多分类【Precision、 micro-P、macro-P】、【Recall、micro-R、macro-R】、【F1、 micro-F1、macro-F1】
目标检测评估指标mAP:从Precision,Recall,到AP50-95【未完待续】
利用mAP评估目标检测模型
万字长文精解目标检测中的TP、FP、FN、TN、Precision、Recall 、 F1 Score、AP、mAP与AR 。附代码实现。
AP和mAP 计算:sklearn.metrics.average_precision_score()
精准,召回和 F-measures

二、精确率 vs. 召回率

1. 精确率(Precision)

精确率是指模型所有预测为正样本中(分母),模型正确预测为正样本(分子)的比例,它反映了模型预测的准确性。数学上,精确率定义为:
Precision = True Positives True Positives + False Positives \text{Precision}=\frac{\text{True Positives}}{\text{True Positives}+\text{False Positives}} Precision=True Positives+False PositivesTrue Positives
其中,True Positives(TP)是正确预测为正样本数量,False Positives(FP)是错误预测为正样本数量,FP可以理解为误检

2. 召回率(Recall)

召回率是指所有实际为正样本中(分母),模型正确预测为正样本(分子)的比例。它反映了模型对正样本的覆盖能力。数学上,召回率定义为:
R e c a l l = True Positives True Positives + False Negatives \mathrm{Recall}=\frac{\text{True Positives}}{\text{True Positives}+\text{False Negatives}} Recall=True Positives+False NegativesTrue Positives

其中,True Positives(TP)是正确预测为正的样本数,False Negatives(FN)是错误预测为负的正样本数,FN可以理解为漏检

召回率的提升意味着可以检测出更多的目标,检出率提高

3. FP vs. FN

False Negatives(FN)漏检:错误预测为负的正样本数,即模型预测为负类(例如,没有检测到某种疾病或异常),但实际上是正类(即实际上存在疾病或异常)的样本。在目标检测中,FN可以指未能检测到实际存在的目标的情况。

False Positives(FP)误检:错误预测为正的样本数,即模型预测为正类(例如,检测到某种疾病或异常),但实际上是负类(即实际上没有疾病或异常)的样本。在目标检测中,FP可以指错误地将背景或非目标识别为目标的情况。

4. mAP vs. mAR

精确率和召回率的计算可以针对每个类别分别进行,也可以在所有类别上进行平均,得到平均精确率(mAP)和平均召回率(mAR)。

5. 简单示例

假设有一个目标检测模型,其在测试集上的预测结果如下:

正确预测为正样本数量(TP):100

错误预测为正样本数量(FP):20

错误预测为负样本数量(FN):30

那么,该模型的精确率和召回率分别为:
P r e c i s i o n = 100 100 + 20 = 0.8333 Precision = \frac{100}{100 + 20} = 0.8333 Precision=100+20100=0.8333

R e c a l l = 100 100 + 30 = 0.7692 Recall = \frac{100}{100 + 30} = 0.7692 Recall=100+30100=0.7692


http://www.kler.cn/a/531451.html

相关文章:

  • 3 卷积神经网络CNN
  • Windows编译FreeRDP步骤
  • 从零开始搭建一个基于Kamailio的VoIP管理系统
  • css三角图标
  • 基于最近邻数据进行分类
  • day6手机摄影社区,可以去苹果摄影社区学习拍摄技巧
  • 轮播库-swiper使用案例
  • CommonJS 和 ES6module 的区别
  • Linux系统下安装配置 Nginx 超详细图文教程
  • 梯度、梯度下降、最小二乘法
  • 快速上手mybatis教程
  • XCCL、NCCL、HCCL通信库
  • 算法基础——一致性
  • 强化学习笔记(5)——PPO
  • c++ 定点 new 及其汇编解释
  • 数据结构之栈和队列(超详解)
  • 使用 Kotlin 将 Vertx 和 Springboot 整合
  • C++类的初始化列表是怎么一回事?哪些东西必须放在初始化列表中进行初始化,原因是什么?
  • MySQL(高级特性篇) 13 章——事务基础知识
  • Docker 部署 ClickHouse 教程
  • 搜索插入位置(35)
  • SpringBoot整合Mybatis|入门级增删改查|2025
  • Chromium132 编译指南 - Android 篇(五):获取源码
  • 八. Spring Boot2 整合连接 Redis(超详细剖析)
  • 自动化软件测试的基本流程
  • Ubuntu20安装docker