2.4 ROC曲线是什么?

2.4 ROC曲线是什么?

场景描述
二值分类器(Binary Classifier)是机器学习领域中最常见也是应用最广泛的分类器。

评价二值分类器的指标很多,比如precision、recall、F1score、P-R 曲线等。前面已对这些指标做了一定的介绍,但也发现这些指标或多或少只能反映模型在某一方面的性能。

相比而言,ROC曲线则有很多优点,经常作为评估二值分类器最重要的指标之一。下面我们来详细了解一下ROC 曲线的绘制方法和特点。
知识点
ROC曲线,曲线下的面积(Area Under Curve,AUC),P-R 曲线

什么是ROC曲线?

​ ROC 曲线是Receiver Operating Characteristic Curve的简称,中文名为“受试者工作特征曲线”。ROC曲线源于军事领域,而后在医学领域应用甚广,“受试者工作特征曲线”这一名称也正是来自于医学领域。

  • ROC 曲线的横坐标为假阳性率(False Positive Rate,FPR)
    F P R = F P N FPR = \frac{{FP}}{N} FPR=NFP

  • ROC 曲线的纵坐标为真阳性率(True Positive Rate,TPR)

T P R = T P P TPR = \frac{{TP}}{P} TPR=PTP

其中,P是真实的正样本的数量,N是真实的负样本的数量,TP是P个正样本中被分类器预测为正样本的个数,FP是N个负样本中被分类器预测为正样本的个数。

Example:只看定义确实有点绕,为了更直观地说明这个问题,我们举一个医院诊断病人的例子。

假设有10位疑似癌症患者,其中有3位很不幸确实患了癌症(P=3),另外7位不是癌症患者(N=7)。

  • 医院对这10位疑似患者做了诊断,诊断出3位癌症患者,其中有2位确实是真正的患者(TP=2)。那么真阳性率(TPR=TP/P=2/3)。

  • 对于7位非癌症患者来说,有一位很不幸被误诊为癌症患者(FP=1),那么假阳性率FPR=FP/N=1/7。

对于“该医院”这个分类器来说,这组分类结果就对应ROC曲线上的一个点(1/7,2/3)。

ROC曲线的由来

​ ROC 曲线最早是运用在军事上的,后来逐渐运用到医学领域,并于20世纪80年代后期被引入机器学习领域。相传在第二次世界大战期间,雷达兵的任务之一就是死死地盯住雷达显示器,观察是否有敌机来袭。理论上讲,只要有敌机来袭,雷达屏幕上就会出现相应的信号。但是实际上,如果飞鸟出现在雷达扫描区域时,雷达屏幕上有时也会出现信号。这种情况令雷达兵烦恼不已,如果过于谨慎,凡是有信号就确定为敌机来袭,显然会增加误报风险;如果过于大胆,凡是信号都认为是飞鸟,又会增加漏报的风险。每个雷达兵都竭尽所能地研究飞鸟信号和飞机信号之间的区别,以便增加预报的准确性。但问题在于,每个雷达兵都有自己的判别标准,有的雷达兵比较谨慎,容易出现误报;有的雷达兵则比较胆大,容易出现漏报。
​ 为了研究每个雷达兵预报的准确性,雷达兵的管理者汇总了所有雷达兵的预报特点,特别是他们漏报和误报的概率,并将这些概率画到一个二维坐标系里。这个二维坐标的纵坐标为敏感性(真阳性率),即在所有敌机来袭的事件中,每个雷达兵准确预报的概率。而横坐标则为1-特异性(假阳性率),表示在所有非敌机来袭信号中,雷达兵预报错误的概率。由于每个雷达兵的预报标准不同,且得到的敏感性和特异性的组合也不同。将这些雷达兵的预报性能进行汇总后,雷达兵管理员发现他们刚好在一条曲线上,这条曲线就是后来被广泛应用在医疗和机器学习领域ROC 曲线

下集预告: 2.5 如何绘制ROC曲线?

参考文献:

《百面机器学习》 诸葛越主编

出版社:人民邮电出版社(北京)

ISBN:978-7-115-48736-0

2022年8月第1版(2022年1月北京第19次印刷)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录Day29

Day 29 回溯算法part05 今日任务 491.递增子序列46.全排列47.全排列 II 代码实现 491.递增子序列 public List<List<Integer>> findSubsequences(int[] nums) {List<List<Integer>> result new ArrayList<>();List<Integer> path ne…

Python爬虫入门:HTTP与URL基础解析及简单示例实践

在数字化时代&#xff0c;数据已成为一种宝贵的资源。Python作为一种强大的编程语言&#xff0c;在数据采集和处理方面表现出色。爬虫技术&#xff0c;即网络爬虫&#xff0c;是Python中用于数据采集的重要工具。本文作为Python爬虫基础教程的第一篇&#xff0c;将深入讲解URL和…

流畅的 Python 第二版(GPT 重译)(六)

第三部分&#xff1a;类和协议 第十一章&#xff1a;一个 Python 风格的对象 使库或框架成为 Pythonic 是为了让 Python 程序员尽可能轻松和自然地学会如何执行任务。 Python 和 JavaScript 框架的创造者 Martijn Faassen。 由于 Python 数据模型&#xff0c;您定义的类型可以…

CSS3新属性(学习笔记)

一、. 圆角 border-radius:; 可以取1-4个值&#xff08;规则同margin&#xff09; 可以取px和% 一般用像素&#xff0c;画圆的时候用百分比&#xff1a;border-radius:50%; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&q…

【鸿蒙HarmonyOS开发笔记】通知模块之发布进度条类型通知

概述 进度条通知也是常见的通知类型&#xff0c;主要应用于文件下载、事务处理进度显示。HarmonyOS提供了进度条模板&#xff0c;发布通知应用设置好进度条模板的属性值&#xff0c;如模板名、模板数据&#xff0c;通过通知子系统发送到通知栏显示。 目前系统模板仅支持进度条…

Svg Flow Editor 原生svg流程图编辑器(三)

系列文章 Svg Flow Editor 原生svg流程图编辑器&#xff08;一&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;二&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;三&#xff09; 实现对齐辅助线 在 logicFlow 中&#xff0c;辅助线的实现是通…

【网页实战项目设计】基于SSM的高校二手交易平台 (大学跳蚤市场)(源码+LW文档)

基于SSM的高校二手交易平台 &#xff08;大学跳蚤市场&#xff09; 项目截图 系统功能界面图 用户注册、用户登录界面图 个人中心界面图 商品信息界面图 商品上架管理界面图 订单信息管理界面图 开发环境与技术框架 开发语言&#xff1a;Java 框架&#…

WordPress菜单函数wp_nav_menu各参数

wordpress主题制作时&#xff0c;常常会在不同的位置调用不同的菜单&#xff0c;使用下面的这个代码&#xff0c;再加上CSS给菜单做新的样式&#xff0c;可满足wordpress模板制作时对菜单调用的所有需求。 wp_nav_menu( array( theme_location > ,//导航别名 menu > , /…

SV-7035VP播放模块通用型播放终端SV-7035VP-SIP 网络通用型播放功放模块

SV-7035VP播放模块通用型播放终端SV-7035VP-SIP 网络通用型播放功放模块 产品介绍 SV-7035VP模块是一款SIP播放模块&#xff0c;具有10/100M以太网接口&#xff0c;其接收网络的音频数据&#xff0c;提供立体声的音频输出。 本SIP播放模块带有一个继电器端子和一个NET接口&a…

RabbitMQ-同步和异步区别快速入门

文章目录 1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯 1.2.技术对比&#xff1a; 2.快速入门2.1.安装RabbitMQ2.2.RabbitMQ消息模型2.3.入门案例2.3.1.publisher实现 1.1.同步和异步通讯 服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&am…

Simulink如何自动保存模型,解决崩溃问题

文章目录 Simulink如何自动保存模型,解决崩溃问题自动保存模型脚本脚本使用方法专题目录 Simulink如何自动保存模型,解决崩溃问题 自动保存模型脚本 在使用sumilink建模中,暂无自动保存模型的相关设置,使用中常常会遇到软件卡死奔溃现象 当出现如上提示,如果花费了半天建…

在抖音电商迎上新趋势,他们找到春季服饰生意新增量

冬去春来&#xff0c;万物焕新。每年春天换季的时候&#xff0c;都是大家买新衣服的高峰期。 对于服饰商家来说&#xff0c;季节性的平台活动&#xff0c;能够带来较大的消费需求扩容空间&#xff0c;也是推动生意增长的好时机。在3月9日-3月14日举办的「抖音商城服饰焕新周」…

【Jax报错】CUDA backend failed to initialize: Unable to load cuPTI

如题&#xff0c;在本地跑xai的grok-1的时候遇见的问题。 首先你的cuda应该是安装好的&#xff0c;也就是bash下nvidia-smi可以显示、python下torch.cuda.is_available()返回True。 在执行 import jaxjax.local_device_count()的时候报错这个。 在/usr/local/cuda/extras/C…

FreeCAD傻瓜教程之创建参数化几何图形-螺旋体、平面、球体、椭球体、圆柱体、圆锥体、棱柱、椭圆

目的&#xff1a;学会用FreeCAD绘制参数化的几何图形。 一、使用的工作台和工具 1.1选择Part 工作台 1.2单击创建图元...工具 也就是上图黄色工具区域的倒数第2个 1.3 打开几何图元 下方的下拉列表 二、绘制螺旋体、弹簧、螺丝杆 2.1 选择几何图元列表中的 “螺旋体” 设…

【PostgreSQL的指标采集工具--pgmetrics】

pgmetrics是用go语言写的一款PostgreSQL的健康监控指标采集软件。可以连接到数据库&#xff0c;获取当前数据库的相关信息&#xff0c;如果连接的是本地数据库&#xff0c;则同时会采集服务器的状态信息。可以把采集的结果以json或者text或者csv的形式存储。 1.下载pgmetrics的…

Mysql主从之keepalive+MySQL高可用

一、Keepalived概述 keepalived 是集群管理中保证集群高可用的一个服务软件&#xff0c;用来防止单点故障。 keepalived 是以VRRP 协议为实现基础的&#xff0c;VRRP 全称VirtualRouter Redundancy Protocol&#xff0c;即虚拟路由冗余协议。虚拟路由冗余协议&#xff0c;可以…

计算机网络题,网上的记录下,计算题

1.8 级信号级别方案被用在一个 10 MHz频率波段中发送信息&#xff0c;数据传输最大比特率是多少&#xff1f;不考虑噪声。 8级信号需三个比特位&#xff0c;根据奈奎斯特准则&#xff0c;10MHz频段对应最大的波特率为20MBauds。最大比特率为20Mlog(2)860Mbps. 2.北美和日本主要…

关于: .sync修饰符

.sync修饰符用于简化父组件与子组件之间双向绑定的语法。通过使用.sync修饰符&#xff0c;可以将子组件中对父组件属性的修改直接同步到父组件中&#xff0c;而无需显式地在子组件中触发事件来更新父组件的属性。.sync修饰符的作用是使双向绑定在父子组件之间更加直观和简洁。 …

武汉星起航领航中国跨境电商,助推全球贸易新篇章

在全球经济一体化的浪潮中&#xff0c;跨境电商以其独特的优势成为推动国际贸易增长的重要引擎。作为中国跨境电商行业的领军者&#xff0c;武汉星起航电子商务有限公司以其卓越的能力和经验&#xff0c;正积极推动中国跨境电商走向世界&#xff0c;书写全球贸易的新篇章。 自…