二分类评价指标AUROC和AUPR
文章目录
- 一、AUROC(Area Under the Receiver Operating Characteristic Curve)
- 二、AUPR(Area Under the Precision-Recall Curve)
- 三、区别
- 3.1 案例
- 3.2 如何选择?
在分类任务中, AUROC(受试者工作特征曲线下面积)和 AUPR(精确率-召回率曲线下面积)是两种常用的性能评估指标,尤其适用于不平衡数据集的情况。下面是这两者的定义和解释:
一、AUROC(Area Under the Receiver Operating Characteristic Curve)
-
定义:AUROC表示ROC曲线下面积。ROC曲线展示的是模型在不同阈值下的**真正例率(True Positive Rate, TPR)与假正例率(False Positive Rate, FPR)**之间的关系。其目的是衡量模型区分正负样本的能力。
-
真正例率(TPR):也称为召回率(Recall),表示被正确识别的正样本占所有真实正样本的比例:
T P R = 真正例 真正例 + 假反例 TPR = \frac{\text{真正例}}{\text{真正例} + \text{假反例}} TPR=真正例+假反例真正例 -
假正例率(FPR):表示被错误识别为正样本的负样本占所有真实负样本的比例:
F P R = 假正例 假正例 + 真反例 FPR = \frac{\text{假正例}}{\text{假正例} + \text{真反例}} FPR=假正例+真反例假正例 -
解读:
- AUROC 值范围在0到1之间,1表示完美分类,0.5表示随机猜测,低于0.5则表示模型表现不佳。
二、AUPR(Area Under the Precision-Recall Curve)
-
定义:AUPR表示精确率-召回率曲线下面积。PR曲线展示的是不同阈值下的**精确率(Precision)与召回率(Recall)**的关系。AUPR在处理正负样本数量严重不平衡时更有用。
-
精确率(Precision):表示被正确识别为正样本的实例占所有被预测为正样本实例的比例:
[
\text{精确率} = \frac{\text{真正例}}{\text{真正例} + \text{假正例}}
] -
召回率(Recall):与AUROC中的TPR相同,表示被正确识别为正样本的比例。
-
解读:
- AUPR值越高,表示模型在正样本上的检测性能越好,尤其是对于不平衡数据,AUPR比AUROC更能反映正样本的识别能力。
三、区别
3.1 案例
上图展示了ROC曲线和PR曲线,并分别计算了它们的AUROC和AUPR值。
-
左图:ROC曲线展示了不同阈值下真正例率(TPR)与假正例率(FPR)的关系,曲线下面积(AUROC)为衡量模型整体区分正负样本的能力。
- 曲线下的面积越大(接近1),模型的性能越好。
- 随机猜测的曲线是一条45度的对角线,AUROC为0.5。
-
右图:PR曲线展示了不同阈值下精确率(Precision)与召回率(Recall)的关系,曲线下面积(AUPR)衡量模型在正类样本上的表现,特别适用于正负样本不平衡的数据。
- 曲线下的面积越大(接近1),表示模型对正样本的检测能力越强。
3.2 如何选择?
-
何时使用 AUROC
- 当你的数据集是 平衡的,并且正负类别同样重要时。
- 当你希望评估模型在 所有阈值下的整体表现。
- 当你想了解模型 区分正负类样本的能力,而不太在意假正例的影响时。
-
何时使用 AUPR
- 当你的数据集是 不平衡的,正类很少但却非常关键时。
- 当你更关注模型的 精确率 和如何 正确识别正类样本 而不是生成过多假正例时。
- 当你在处理如疾病检测、欺诈检测或异常检测等对正类检测要求更高的任务时。
-
总结
- AUROC 适用于平衡数据集,提供了分类器整体区分正负类的能力。
- AUPR 更适用于不平衡数据集,特别关注正类的检测能力和减少假正例的能力。
相关文章:

二分类评价指标AUROC和AUPR
文章目录 一、AUROC(Area Under the Receiver Operating Characteristic Curve)二、AUPR(Area Under the Precision-Recall Curve)三、区别3.1 案例3.2 如何选择? 在分类任务中, AUROC(受试者工…...

雅迪控股营收、净利润和毛利下滑:销量大幅减少,屡屡抽查不合格
《港湾商业观察》廖紫雯 日前,雅迪集团控股有限公司(以下简称:雅迪控股,01585.HK)发布业绩报告,披露2024年上半年营收净利双下滑等情况,在业绩承压的情况下,雅迪控股遭多家券商下调…...

【网络安全】记一次漏洞挖掘
Spring Cloud Data Flow 热点漏洞详细分析 环境搭建 2.10.0 - 2.11.2版本都可以,这里下的2.11.2 源码下载https://github.com/spring-cloud/spring-cloud-dataflow/tree/v2.11.2 在src/docker-compose里面是有docker文件的,使用docker即可 最近是爆出…...

Redis遇到Hash冲突怎么办?
这是小伙伴之前遇到的一个面试题,感觉也是一个经典八股,和大伙分享下。 一 什么是 Hash 冲突 Hash 冲突,也称为 Hash 碰撞,是指不同的关键字通过 Hash 函数计算得到了相同的 Hash 地址。 Hash 冲突在 Hash 表中是不可避免的&am…...

React综合指南(四)
61、描述React事件处理。 为了解决跨浏览器兼容性问题,React中的事件处理程序将传递SyntheticEvent实例,该实例是React跨浏览器本机事件的跨浏览器包装器。这些综合事件具有与您惯用的本机事件相同的界面,除了它们在所有浏览器中的工作方式相…...
Spring集成Redisson及存取几种基本类型数据
目录 一.什么是Redisson 二.为什么要使用Redisson 三.Spring集成Redisson 1.添加依赖 2.添加配置信息 3.添加redisson配置类 四.Redisson存取各种类型数据 1.字符串(String类型) 存储 获取 2.object对象类型 1.实体类信息 2.存储 3.获取 3.List集合类型 第一种…...
Maplibre-gl\Mapbox-gl改造支持对矢量瓦片加密
Maplibre-gl是Mapbox-gl剔除自带地图服务之后的一个分支,代码很相似。Maplibre-gl\Mapbox-gl使用的pbf格式的矢量瓦片,数据量小,渲染效果好。但也存在着信息泄露的风险。但如果想使用这个开发框架的前端渲染效果,还必须要使用这个格式。最近研究了一下如何对矢量瓦片进行加…...

【功能安全】技术安全概念TSC
目录 01 TSC定义 02 TSC注意事项 03 TSC案例 📖 推荐阅读 01 TSC定义 所处位置 TSC:Technical safety concept技术安全概念 TSR:Technical safety requirement技术安全需求 在系统开发阶段属于安全活动4-6 系统层产品开发示例 TSC目的...

Spark数据源的读取与写入、自定义函数
1. 数据源的读取与写入 1.1 数据读取 读文件 read.jsonread.csv csv文件由两个部分组成:头部数据(也就是字段数据)、行数据。 read.orc 读数据库 read.jdbc(jdbc连接地址,table‘表名’,properties{‘user’用户名,‘password’密码,‘driv…...
LeetCode 每日一题 2024/10/14-2024/10/20
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 10/14 887. 鸡蛋掉落10/15 3200. 三角形的最大高度10/16 3194. 最小元素和最大元素的最小平均值10/17 3193. 统计逆序对的数目10/18 3191. 使二进制数组全部等于 1 的最少操…...

接口测试(六)jmeter——参数化(配置元件 --> 用户定义的变量)
一、jmeter——参数化(配置元件 --> 用户定义的变量) 注:示例仅供参考 1. 参数化格式:${变量名} 2. 配置元件:用户定义的变量 3. 添加【用户定义的变量】,【线程组】–>【添加】–>【配置元件】–…...

【学习笔记】网络流
背景 马上ICPC了,很惊奇的发现自己没整理网络流的板子。 最大流 dinic 这里选用的是二分图最大匹配的板子:飞行员配对方案问题 #include<bits/stdc.h> #define int long long using namespace std; const int N1e67,inf1e18; struct E {int to…...

【鸡翅Club】项目启动
一、项目背景 这是一个 C端的社区项目,有博客、交流,面试学习,练题等模块。 项目的背景主要是我们想要通过面试题的分类,难度,打标,来评估员工的技术能力。同时在我们公司招聘季的时候,极大的…...

python+大数据+基于热门视频的数据分析研究【内含源码+文档+部署教程】
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…...

【电子电力】基于PMU相量测量单元的电力系统状态评估
摘要 相量测量单元(PMU)作为一种精确且快速的实时监控设备,在电力系统状态评估中发挥了重要作用。本文研究了在没有PMU和部署PMU情况下,电力系统的电压角度和电压幅值估计误差的差异。通过比较实验结果,发现PMU的应用…...
ubuntu修改默认开机模式(图形/终端)
将 Ubuntu 16 系统设置为开机进入终端模式: 打开终端。编辑 Grub 配置文件:sudo nano /etc/default/grub。找到 GRUB_CMDLINE_LINUX_DEFAULT 行,将其修改为 GRUB_CMDLINE_LINUX_DEFAULT"text"。保存并退出编辑器(Ctrl …...

LaMI-DETR:基于GPT丰富优化的开放词汇目标检测 | ECCV‘24
现有的方法通过利用视觉-语言模型(VLMs)(如CLIP)强大的开放词汇识别能力来增强开放词汇目标检测,然而出现了两个主要挑战:(1)概念表示不足,CLIP文本空间中的类别名称缺乏…...
AI大模型是否有助于攻克重大疾病?
AI大模型在攻克重大疾病方面展现出了巨大的潜力,特别是在疾病预测、药物研发、个性化医疗等领域有着广泛应用。具体来说,AI大模型能够帮助以下几方面: 1、疾病预测与诊断:AI大模型通过分析海量的医学数据,可以提高重大…...

【渗透测试】-红日靶场-获取web服务器权限
拓扑图: 前置环境配置: Win 7 默认密码:hongrisec201 内网ip:192.168.52.143 打开虚拟网络编辑器 添加网络->VMent1->仅主机模式->子网ip:192.168.145.0 添加网卡: 虚拟机->设置-> 添加->网络适配器 保存&a…...

python 深度学习 项目调试 图像分割 segment-anything
起因, 目的: 项目来源: https://github.com/facebookresearch/segment-anything项目目的: 图像分割。 提前图片中的某个目标。facebook 出品, 居然有 47.3k star! 思考一些问题 我可以用这个项目来做什么?给一个图片, 进行分割࿰…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...