科普:ROC AUC与PR AUC
在评价二分类模型性能时,有许多评价指标,其中,有一对是用面积AUC(Area Under the Curve)做评价的:ROC AUC与PR AUC
本文我们对ROC AUC与PR AUC进行多维度对比分析:
一、定义与核心原理
| 维度 | ROC AUC | PR AUC |
|---|---|---|
| 全称 | Receiver Operating Characteristic AUC | Precision-Recall AUC |
| 横轴 | 假正率(FPR)= FP / (FP + TN) | 召回率(Recall)= TP / (TP + FN) |
| 纵轴 | 真正率(TPR/Recall)= TP / (TP + FN) | 精确率(Precision)= TP / (TP + FP) |
| 曲线生成方式 | 调整分类阈值,计算不同阈值下的TPR和FPR | 调整分类阈值,计算不同阈值下的Precision和Recall |
| 数值意义 | 模型对正负样本的全局排序能力 | 模型对正类样本的查准与查全的综合能力 |
二、使用场景对比
| 场景类型 | ROC AUC | PR AUC |
|---|---|---|
| 类别平衡数据 | 适用(如男女用户分类) | 适用,但ROC AUC更直观 |
| 中度不平衡 | 仍可用,但需谨慎解读(如正类占10%) | 更优(如用户流失预测) |
| 严重不平衡 | 易虚高(如欺诈检测正类占0.1%) | 首选(直接反映正类性能) |
| 业务需求 | 需全局排序(如信用评分) | 需聚焦正类(如癌症筛查) |
典型场景示例
- 金融风控(正类占1%):
- ROC AUC=0.95:可能因负类主导而虚高,无法反映欺诈识别的实际效果。
- PR AUC=0.35:直接暴露模型对正类的低识别能力,需优化特征或采样策略。
- 广告点击预测(正类占5%):
- ROC AUC=0.85:表明模型整体区分能力良好。
- PR AUC=0.65:提示需提高精确率(减少误推成本)。
三、选择标准
| 决策因素 | 优先选择ROC AUC | 优先选择PR AUC |
|---|---|---|
| 正类比例 | 正类≥10% | 正类<10% |
| 业务目标 | 需全局风险排序(如客户分层) | 需精准识别正类(如医学诊断) |
| 误判成本容忍度 | 可接受较高误判(如推荐系统) | 误判成本高(如法律审核) |
| 模型解释性 | 需直观展示整体性能 | 需聚焦正类细节表现 |
四、与类别不平衡程度的关系
| 不平衡程度 | ROC AUC表现 | PR AUC表现 |
|---|---|---|
| 平衡(1:1) | 可靠,反映全局性能(如AUC=0.9优秀) | 可靠,与ROC AUC互补(如AUC=0.88) |
| 中度不平衡(1:10) | 可能虚高(如AUC=0.85,实际正类识别差) | 更敏感(如AUC=0.6,提示需优化) |
| 严重不平衡(1:100) | 虚高严重(如AUC=0.95但正类全漏) | 真实反映问题(如AUC=0.2,模型无效) |
示例分析
- 正类占0.5%的欺诈检测:
- ROC AUC=0.92:看似优秀,但可能因模型正确分类大量负类(TN)导致虚高。
- PR AUC=0.15:直接显示模型对欺诈交易的识别能力极差(随机模型的PR AUC=0.005)。
- 结论:在严重不平衡时,PR AUC是唯一可信指标。
建议:
- 类别不平衡时:PR AUC是黄金指标,ROC AUC仅作参考。
- 平衡数据时:两者互补,优先ROC AUC。
- 业务决策时:以PR曲线选择阈值,以PR AUC评估模型优先级。
附:正样本比例与不平衡程度及推荐评估指标的对应表
| 正样本比例 | 不平衡程度 | 推荐评估指标 | 备注 |
|---|---|---|---|
| <1% | 严重不平衡 | PR AUC、F1分数、召回率(Recall)、MCC、G-Mean | 优先关注正类的查全率(Recall)和综合性能(PR AUC),避免ROC AUC的虚高误导。 |
| 1%~5% | 严重不平衡 | PR AUC、F1分数、召回率(Recall)、MCC、G-Mean | 需结合过采样(SMOTE)或代价敏感学习,重点关注少数类的识别能力。 |
| 5%~10% | 中度不平衡 | PR AUC、F1分数、G-Mean、平衡准确率(Balanced Accuracy)、ROC AUC | 平衡查准与查全,可辅以ROC AUC验证全局排序能力。 |
| 10%~20% | 轻微不平衡 | ROC AUC、F1分数、精确率(Precision)、PR AUC | 常规处理即可,关注业务核心指标(如误判成本)。 |
| 20%~40% | 较平衡 | 准确率(Accuracy)、ROC AUC、F1分数、精确率/召回率(按业务需求侧重) | 无需特殊处理,模型优化重点转向特征工程或复杂度调整。 |
| >40% | 平衡 | 准确率(Accuracy)、ROC AUC、混淆矩阵(TP/FP/TN/FN) | 常规分类任务,指标选择取决于业务容忍度(如FP或FN的代价)。 |
主要指标
-
严重不平衡(<5%):
- 核心指标:PR AUC(直接反映正类性能)、召回率(避免漏检)。
- 辅助指标:MCC(综合所有类别)、G-Mean(平衡正负类识别能力)。
- 禁用指标:准确率(虚高且无意义)。
-
中度不平衡(5%~10%):
- 核心指标:PR AUC(仍优先)、F1分数(平衡查准与查全)。
- 辅助指标:ROC AUC(验证全局能力)、平衡准确率(简单鲁棒)。
-
轻微不平衡(10%~20%):
- 核心指标:ROC AUC(全局排序)、F1分数(平衡性能)。
- 业务适配:若需高精确率(如广告推荐),优先精确率;若需高召回率(如用户流失预警),优先召回率。
-
实际应用:
- 金融风控:严重不平衡时,PR AUC + 召回率 + 误判成本矩阵。
- 医学诊断:中度不平衡时,召回率 + 特异度(Specificity)。
- 推荐系统:轻微不平衡时,精确率 + ROC AUC。
相关文章:
科普:ROC AUC与PR AUC
在评价二分类模型性能时,有许多评价指标,其中,有一对是用面积AUC(Area Under the Curve)做评价的:ROC AUC与PR AUC 本文我们对ROC AUC与PR AUC进行多维度对比分析: 一、定义与核心原理 维度RO…...
Vue3父组件访问子组件方法与属性完全指南
在Vue3的组件化开发中,父子组件间的通信是核心功能之一。本文将详细介绍五种父组件访问子组件属性/方法的实现方案,包含最新的<script setup>语法糖实践。(综合1579) 一、ref defineExpose(推荐方案࿰…...
AI时代保护自己的隐私
人工智能最重要的就是数据,让我们面对现实,大多数人都不知道他们每天要向人工智能提供多少数据。你输入的每条聊天记录,你发出的每条语音命令,人工智能生成的每张图片、电子邮件和文本。我建设了一个网站(haptool.com),…...
Android APK组成编译打包流程详解
Android APK(Android Package)是 Android 应用的安装包文件,其组成和打包流程涉及多个步骤和文件结构。以下是详细的说明: 一、APK 的组成 APK 是一个 ZIP 格式的压缩包,包含应用运行所需的所有文件。解压后主要包含以…...
TCP长连接与短连接
TCP长连接与短连接 TCP(传输控制协议)中的长连接和短连接是两种不同的连接管理方式,各有优缺点: 短连接 短连接是指客户端与服务器完成一次数据交换后就断开连接。下次需要通信时,再重新建立连接。 特点࿱…...
C#委托(delegate)的常用方式
C# 中委托的常用方式,包括委托的定义、实例化、不同的赋值方式以及匿名委托的使用。 委托的定义 // 委托的核心是跟委托的函数结构一样 public delegate string SayHello(string c);public delegate string SayHello(string c);:定义了一个公共委托类型 …...
C#从入门到精通(35)—如何防止winform程序因为误操作被关闭
前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发的上位机软件运行起来以后,一般在右上角都有一个关闭按钮,正常情况下点击关闭按钮就能关闭软件,但是不排除我们不想关闭软件,但是因为不…...
docker本地镜像源搭建
最近Deepseek大火后,接到任务就是帮客户装Dify,每次都头大,因为docker源不能用,实在没办法,只好自己搭要给本地源。话不多说具体如下: 1、更改docker的配置文件,添加自己的私库地址,…...
Sqlserver安全篇之_TLS的证书概念
证书的理解 参考Sqlserver的官方文档https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/certificate-overview?viewsql-server-ver16 TLS(Transport Layer Security)传输层安全和SSL(Secure Sockets Layer)安全套接字层协议位于应用程序协议层和TCP/…...
Kafka生产者相关
windows中kafka集群部署示例-CSDN博客 先启动集群或者单机也OK 引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.9.0</version></dependency>关于主题创建 理论…...
技术问题汇总:前端怎么往后端传一个数组?
场景 现在一个专门负责复习算法的服务,筛选出了用户今天需要复习的笔记的ids,现在要调用笔记服务根据ids查询的接口。 请问复习服务怎么将ids发到笔记服务,笔记服务怎么接收。 思路 发的时候肯定是用字符串,接收的时候…...
【03】STM32F407 HAL 库框架设计学习
【03】STM32F407 HAL 库框架设计学习 摘要 本文旨在为初学者提供一个关于STM32F407微控制器HAL(Hardware Abstraction Layer)库框架设计的详细学习教程。通过本文,读者将从零开始,逐步掌握STM32F407的基本知识、HAL库的配置步骤…...
智能图像处理平台:图像处理配置类
这里我们先修改一下依赖,不用JavaCV,用openCV。 导入依赖: <!-- JavaCV 依赖,用于图像和视频处理 --> <!-- <dependency>--> <!-- <groupId>org.bytedeco</groupId>--> &l…...
【图文详解】什么是微服务?什么是SpringCloud?
目录 一.认识微服务架构 ??微服务带来的挑战 二.微服务解决方案SpringCloud ??SpringCloud的版本 ??SpringCloud和SpringBoot的关系 ??SpringCloud实现方案 Spring Cloud Netfix Spring Cloud Alibaba ??Spring Cloud 实现对比 在入门Spring Cloud 之前&…...
基于ssm的校园跑腿管理系统+vue
作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统共有管理员、用户两个角色 管理员主要的功能用户信息管理、任务信息管理、任务类型管理、接单信息管理、公告信息管理、投诉信息管理、公告类型管…...
5个GitHub热点开源项目!!
1.自托管 Moonlight 游戏串流服务:Sunshine 主语言:C,Star:14.4k,周增长:500 这是一个自托管的 Moonlight 游戏串流服务器端项目,支持所有 Moonlight 客户端。用户可以在自己电脑上搭建一个游戏…...
docker通用技术介绍
docker通用技术介绍 1.docker介绍 1.1 基本概念 docker是一个开源的容器化平台,用于快速构建、打包、部署和运行应用程序。它通过容器化技术将应用及其依赖环境(如代码、库、系统工具等)打包成一个标准化、轻量级的独立单元,实…...
#渗透测试#批量漏洞挖掘#某图创图书馆集群管理系统updOpuserPw SQL注入(CVE-2021-44321)
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...
智能合约安全 | 合约无效化攻击
目录: 智能合约安全 合约无效化攻击 合约自毁函数 selfdestruct 攻击实现 漏洞防御 总结 智能合约安全 合约无效化攻击 合约无效化攻击类同于web安全中的逻辑漏洞中的一种 我们这里拿一个典型的例子来讲解 有这样一份智能合约, 每个人可以向其中发送1 eth 第七个…...
RabbitMQ 的介绍与使用
一. 简介 1> 什么是MQ 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。 其主要用途:不同进程Process/线程T…...
保姆级教程:手把手教你理解电力线载波通信的MAC帧与MPDU(附避坑指南)
电力线载波通信MAC帧与MPDU实战解析:从协议规范到调试避坑 电力线载波通信(PLC)技术凭借其"无需额外布线"的天然优势,在智能电网、智能家居等领域持续渗透。但当你真正打开协议文档准备调试时,那些密密麻麻的…...
3分钟搞定PowerPoint数学公式排版:LaTeX-PPT插件终极指南
3分钟搞定PowerPoint数学公式排版:LaTeX-PPT插件终极指南 【免费下载链接】latex-ppt Use LaTeX in PowerPoint 项目地址: https://gitcode.com/gh_mirrors/la/latex-ppt 还在为PowerPoint中复杂的数学公式排版而头疼吗?作为科研人员、教师或学生…...
零基础入门:借助claude code在快马平台轻松创建第一个web应用
作为一个刚接触编程的新手,我最近尝试用InsCode(快马)平台做了一个待办事项应用,整个过程比想象中顺利很多。这里记录下我的学习过程,希望能帮到同样零基础的朋友。 项目准备阶段 刚开始我连HTML、CSS和JavaScript的区别都分不清。好在平台…...
YOLO12保姆级教程:2025最新目标检测模型,5分钟开箱即用
YOLO12保姆级教程:2025最新目标检测模型,5分钟开箱即用 1. 前言:为什么选择YOLO12? 目标检测是计算机视觉领域最基础也最重要的任务之一。2025年最新发布的YOLO12模型,凭借其革命性的注意力为中心架构,在…...
3步实现跨平台文献管理效率跃升:WPS-Zotero开源工具深度应用指南
3步实现跨平台文献管理效率跃升:WPS-Zotero开源工具深度应用指南 【免费下载链接】WPS-Zotero An add-on for WPS Writer to integrate with Zotero. 项目地址: https://gitcode.com/gh_mirrors/wp/WPS-Zotero 在学术研究的数字化工作流中,如何解…...
突破魔兽争霸3兼容性壁垒:WarcraftHelper让经典游戏重获新生
突破魔兽争霸3兼容性壁垒:WarcraftHelper让经典游戏重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 核心痛点:现代玩家…...
从浮点到整数:深入解析QAT量化模型的推理计算机制
1. 量化感知训练(QAT)的核心思想 量化感知训练就像给模型提前打预防针。想象一下,你平时用计算器做数学题,突然有一天只能用整数计算(比如只能输入1、2、3,不能输入1.5),这时候直接硬…...
一键永久珍藏QQ空间回忆:GetQzonehistory完整备份指南
一键永久珍藏QQ空间回忆:GetQzonehistory完整备份指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心QQ空间里的珍贵回忆会随着时间流逝而消失?那些记…...
段落自己改 vs 全文工具降:论文AI率哪种降得更彻底
段落自己改 vs 全文工具降:论文AI率哪种降得更彻底 降AI率的时候,很多人的直觉是"哪段被标红就改哪段"——这个思路乍一看很合理,精准处理、不动其他内容。 但实际操作下来,分段改写往往结果很差。 来说说为什么&…...
告别繁琐安装:用快马平台在线环境,三步创建你的第一个网页应用
作为一个刚入门的前端开发者,我最近发现了一个特别适合新手快速上手的开发方式——不用下载任何软件,直接在浏览器里就能完成网页开发的全流程。今天想和大家分享这个超实用的发现,以及我是如何用它快速做出第一个网页应用的。 传统开发环境的…...
