看懂YOLOv7混淆矩阵的含义,正确计算召回率、精确率、误检率、漏检率

文章目录

  • 1、准确率、精确率、召回率、误报率、漏报率概念及公式
    • 1.1 准确率 Accuracy
    • 1.2 精确率 Precision
    • 1.3 召回率 Recall
    • 1.4 F1-Score
    • 1.5 误检率 false rate
    • 1.6 漏检率 miss rate
  • 2、YOLOv7混淆矩阵分析

1、准确率、精确率、召回率、误报率、漏报率概念及公式

  • 重点参考博文:【机器学习】准确率、精确率、召回率、误报率、漏报率概念及公式
  • 误报率、漏报率、准确率和召回率(虚警率、漏警率)
    • 误报率和漏报率的关系:一般来说无法同时降低误报率和漏报率。举个例子来说,某门卫为了防止小偷进入小区,凡是过往人员都要盘查,这时漏报率为0,但是显著提高了误报率;反之如果门卫什么都不做,任由人员出入,那么这是漏报率就会提高,而误报率降低为0。
    • 漏检率 + 召回率 = 1,也就是召回率越高,漏检率越低
  • 【积累】机器学习知识,看里面的1.1.2 二分类问题

阳性(正)样例 P 和 阴性(负)样例 N

  • 正样本预测为正样本的为True positive(TP)
  • 正样本预测为负样本的为False negative(FN)
  • 负样本预测为正样本的为False positive(FP)
  • 负样本预测为负样本的为True negative(TN)

所以有:
P = T P + F N N = F P + T N P = TP + FN \\ N = FP + TN P=TP+FNN=FP+TN

1.1 准确率 Accuracy

  • 反映模型对整体样本判断正确的能力,值越大越好
  • 但样本不平衡时,ACC 不能很好地评估模型性能
    A c c = T P + T F T P + F P + T N + F N Acc = \frac{TP + TF}{TP + FP + TN + FN} Acc=TP+FP+TN+FNTP+TF

1.2 精确率 Precision

  • 反映模型正确预测正样本精度的能力,值越大越好
  • 也称精度查准率阳性预测值(positive predictive value, PPV)
  • 即:衡量在所有预测为正样本的数据中,有多少是真正的正样本
    P r e c i s i o n ( P P V ) = T P T P + F P Precision(PPV) = \frac{TP}{TP + FP} Precision(PPV)=TP+FPTP

1.3 召回率 Recall

  • 反映模型正确预测正样本全度的能力,值越大越好
  • 也称真阳性率(true positive rate, TPR),灵敏度查全率
  • 即:衡量在所有真实的正样本中,有多少被预测为正样本
    R e c a l l ( T P R ) = T P T P + F N = T P P Recall(TPR) = \frac{TP}{TP + FN}=\frac{TP}{P} Recall(TPR)=TP+FNTP=PTP

1.4 F1-Score

  • 是对精确率和召回率的加权求和
    F 1 − S c o r e = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1-Score=\frac{2×Precision×Recall}{Precision+Recall} F1Score=Precision+Recall2×Precision×Recall

1.5 误检率 false rate

  • 反映模型正确预测正样本纯度的能力,值越小越好
  • 又称虚警率假阳性率(False Positive Rate)
  • 即:在所有真实的负样本中,有多少被预测为正样本
    F P R = F P T N + F P = F P N FPR=\frac{FP}{TN + FP}=\frac{FP}{N} FPR=TN+FPFP=NFP

1.6 漏检率 miss rate

  • 反应模型正确预测负样本纯度的能力,值越小越好
  • 又称错检率漏警率假阴性率(False Negative Rate)
  • 即:在所有真实的正样本中,有多少被预测为负样本
  • 漏检率 + 召回率 = 1
    F N R = F N T P + F N = F N P FNR=\frac{FN}{TP+FN}=\frac{FN}{P} FNR=TP+FNFN=PFN

2、YOLOv7混淆矩阵分析

  • 应该YOLO其他系列的也可以这样分析
  • 图中格子里面的数字表示比例,其余重要的含义在图中已表示

在这里插入图片描述

例如,通过计算可以得到:对角线的值就表示的召回率漏检率=1-Recall=0.4

类别 D 00 的召回率 = R e c a l l ( T P R ) = T P T P + F N = T P P = 0.60 0.60 + 0.01 + 0.39 = 0.6 类别 D 00 的漏检率 = F N R = F N T P + F N = F N P = 0.01 + 0.39 0.60 + 0.01 + 0.39 = 0.4 = 1 − R e c a l l 类别D_{00}的召回率=Recall(TPR) = \frac{TP}{TP + FN}=\frac{TP}{P}=\frac{0.60}{0.60+0.01+0.39}=0.6\\ 类别D_{00}的漏检率= FNR=\frac{FN}{TP+FN}=\frac{FN}{P}=\frac{0.01+0.39}{0.60+0.01+0.39}=0.4=1-Recall 类别D00的召回率=Recall(TPR)=TP+FNTP=PTP=0.60+0.01+0.390.60=0.6类别D00的漏检率=FNR=TP+FNFN=PFN=0.60+0.01+0.390.01+0.39=0.4=1Recall

以D00类别来看:

  • 除了对角线上的那个值以外,反映的是漏检率(漏检成了其他的类别)
  • 除了对角线上的那个值以外,反映的是误检率(误检成了其他的类别)

例如第1列第3行的值0.01表示:漏检D00且认为是D20的概率是0.01
第2列第1行的值0.01表示:误检D00且认为是D10的概率是0.01

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/198639.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Eclipse+Mysql+Tomcat开发的挖掘机配件营销系统

基于EclipseMysqlTomcat开发的挖掘机配件营销系统 项目介绍💁🏻 大家都有目共睹,现在的科学技术发展很迅速。而如今,计算机应用已经完全融入到人们的生产和生活当中,特别是企业,现在的企业几乎都是离不开计…

LLM大语言模型

大语言模型的定义 大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。它们在大量的文本数据上进行训练,可以执行广泛的…

数据结构与算法之美学习笔记:27 | 递归树:如何借助树来求解递归算法的时间复杂度?

目录 前言递归树与时间复杂度分析实战一:分析快速排序的时间复杂度实战二:分析斐波那契数列的时间复杂度实战三:分析全排列的时间复杂度内容小结 前言 本节课程思维导图: 今天,我们来讲这种数据结构的一种特殊应用&am…

vue找依赖包的网址

https://www.npmjs.com/ 浅收藏一下

Flask教程入门

1.学习Flask之前,首先需要对URL进行一定的了解。 URL的一些知识: 1.URL只能包含ASCII码里面一些可显示的字符,如A-Z,a-z,0-9,&,#,%,?,/等字符…

Android控件全解手册 - 任意View缩放平移工具-实现思路和讲解

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…

day64 django中间件的复习使用

django中间件 django中间件是django的门户 1.请求来的时候需要先经过中间件才能达到真正的django后端 2.响应走的时候也需要经过中间件 ​ djangp自带七个中间件MIDDLEWARE [django.middleware.security.SecurityMiddleware,django.contrib.sessions.middleware.SessionMiddle…

java三大集合类--List

List Set Map 一、List 几个小问题: 1、接口可以被继承吗?(可以) 2、接口可以被多个类实现吗?(可以) 3、以下两种写法有什么区别? //List list1new List();是错误的因为List()…

【axios封装】万字长文,TypeScript实战,封装一个axios - 基础封装篇

目录 前言版本环境变量配置引入的类型1、AxiosIntance: axios实例类型2、InternalAxiosRequestConfig: 高版本下AxiosRequestConfig的拓展类型3、AxiosRequestConfig: 请求体配置参数类型4、AxiosError: 错误对象类型5、AxiosResponse: 完整原始响应体类型 目标效果开始封装骨架…

C#文件流FileStream类

目录 一、文件流类 1.FileStream类的常用属性 2.FileStream类的常用方法 3.使用FileStream类操作文件 二、文本文件的写入与读取 1.StreamWriter类 2.StreamReader类 3.示例及源码 三、二进制文件的写入与读取 1.BinaryWriter类 2.BinaryReader类 3.示例源码 数据流…

【数据结构/C++】栈和队列_链栈

链头 栈顶。 #include<iostream> using namespace std; // 链栈 typedef int ElemType; typedef struct Linknode {ElemType data;struct Linknode *next; } *LiStack; // 初始化 void InitLiStack(LiStack &S) {S (LiStack)malloc(sizeof(struct Linknode));S->…

Shell条件变量练习

1.算数运算命令有哪几种&#xff1f; (1) "(( ))"用于整数运算的常用运算符&#xff0c;效率很高 [rootshell scripts]# echo $((24*5**2/8)) #(( ))2452814 14 (2) "$[ ] "用于整数运算 [rootshell scripts]# echo $[24*5**2/8] #[ ]也可以运…

技巧-PyTorch中num_works的作用和实验测试

简介 在 PyTorch 中&#xff0c;num_workers 是 DataLoader 中的一个参数&#xff0c;用于控制数据加载的并发线程数。它允许您在数据加载过程中使用多个线程&#xff0c;以提高数据加载的效率。 具体来说&#xff0c;num_workers 参数指定了 DataLoader 在加载数据时将创建的…

京东大数据(京东运营数据采集):2023年10月京东牛奶乳品行业品牌销售排行榜

鲸参谋监测的京东平台10月份牛奶乳品市场销售数据已出炉&#xff01; 10月份&#xff0c;牛奶乳品整体销售上涨。鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台上牛奶乳品的销量将近1700万&#xff0c;同比增长1%&#xff1b;销售额将近17亿&#xff0c;同比增长约5…

React Native 更换淘宝镜像提升包下载速度

React Native 更换淘宝镜像提升包下载速度 每次运行项目的时候都是卡在包下载的命令上&#xff0c;每次一等就要 1h20m 极度崩溃&#xff0c;那是因maven镜像源为Google导致无法正常下载。 那么我们就可以切换maven镜像源&#xff0c;方法如下&#xff1a; 找到项目下的**/an…

09. 智慧商城——订单结算、订单管理

01. 订单结算台 所谓的 “立即结算”&#xff0c;本质就是跳转到订单结算台&#xff0c;并且跳转的同时&#xff0c;需要携带上对应的订单参数。 而具体需要哪些参数&#xff0c;就需要基于 【订单结算台】 的需求来定。 (1) 静态布局 准备静态页面 <template><di…

<JavaDS> 二叉树遍历各种遍历方式的代码实现 -- 前序、中序、后序、层序遍历

目录 有以下二叉树&#xff1a; 一、递归 1.1 前序遍历-递归 1.2 中序遍历-递归 1.3 后序遍历-递归 二、递归--使用链表 2.1 前序遍历-递归-返回链表 2.2 中序遍历-递归-返回链表 2.3 后序遍历-递归-返回链表 三、迭代--使用栈 3.1 前序遍历-迭代-使用栈 3.2 中序遍…

Unity中Shader的BRDF解析(三)

文章目录 前言一、BRDF中的镜面反射项二、分别解析每一个参数1、D、G函数&#xff1a;speclarTerm2、其他中间步骤3、光照颜色4、F函数&#xff08;菲涅尔函数&#xff09; &#xff1a;FresnelTermIBL在下篇文章中继续解析 三、最终代码.cginc文件:Shader文件&#xff1a; 前言…

Unity工具脚本-检测资源文件夹是否有预制件是指定层级

效果&#xff1a; 先在菜单栏里面找到Tools/CheckPrefabLayers打开窗口 代码&#xff1a; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine;public class CheckPrefabLayers : EditorWindow {public in…

直线(蓝桥杯)

直线 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 在平面直角坐标系中&#xff0c;两点可以确定一条直线。如果有多点在一条直线上&#xff0c; 那么这些点中任意两点确定的直线是同一条。 给定平面上 2 3 个…