2.7 ROC曲线相比P-R曲线有什么特点?

news2024/11/16 20:34:51

2.7 ROC曲线相比P-R曲线有什么特点?

前情提要:

P-R曲线详见:2.2 什么是精确率(Precision)与召回率(Recall)?二者如何权衡?)

2.4 ROC曲线是什么?

2.5 如何绘制ROC曲线?

2.6 如何计算AUC?

P-R曲线和ROC曲线同样被经常用来评估分类和排序模型。

相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,

  • ROC曲线的形状能够基本保持不变

  • 而P-R 曲线的形状一般会发生较剧烈的变化。

举例来说,图2.3是ROC曲线和P-R曲线的对比图,

  • 其中图2.3(a)和图2.3©是ROC曲线,
  • 图2.3(b)和图2.3(d)是P-R 曲线,
  • 图2.3©和图2.3(d)则是将测试集中的负样本数量增加10倍后的曲线图。

在这里插入图片描述

​ 可以看出,P-R曲线发生了明显的变化,而ROC曲线形状基本不变。这个特点让ROC 曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能

这有什么实际意义呢?

​ 在很多实际问题中,正负样本数量往往很不均衡。比如,计算广告领域经常涉及转化率模型,正样本的数量往往是负样本数量的1/1000甚至1/10000。若选择不同的测试集,P-R 曲线的变化就会非常大,而ROC曲线则能够更加稳定地反映模型本身的好坏。所以,ROC 曲线的适用场景更多,被广泛用于排序、推荐、广告等领域。

​ 但需要注意的是,选择P-R 曲线还是ROC 曲线是因实际问题而异的,如果研究者希望更多地看到模型在特定数据集上的表现,P-R 曲线则能够更直观地反映其性能。

参考文献:

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

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

ISBN:978-7-115-48736-0

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

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

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

相关文章

海康威视相机SDK二次开发(JAVA语言)

目录 前言客户端创建虚拟相机示例代码保存图片程序运行结果修改需求 二次开发引入外部包对SaveImage.java文件进行修改保存图片saveDataToFile方法选择相机chooseCamera方法主方法 FileUtil类处理过期照片启动类与配置文件application.yml通过实体类读取yml启动类 SaveImage.ja…

2024.3.18

封装一个动物的基类,类中有私有成员:姓名,颜色,指针成员年纪 再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个数(整型 int count&#xff0…

代码随想录算法训练营第25天|16.组合总和III|17.电话号码的字母组合

代码随想录算法训练营第25天|16.组合总和III|17.电话号码的字母组合 216.组合总和III 如果把 组合问题理解了,本题就容易一些了。 题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8CIII.html 视频讲解&#xf…

如何在开放麒麟系统安装cpolar内网穿透实现公网环境下SSH远程连接

文章目录 1. 安装SSH服务2. 本地SSH连接测试3. openKylin安装Cpolar4. 配置 SSH公网地址5. 公网远程SSH连接小结 6. 固定SSH公网地址7. SSH固定地址连接 openKylin是中国首个基于Linux 的桌面操作系统开发者平台,通过开放操作系统源代码的方式,打造具有自…

强化PaaS平台应用安全:关键策略与措施

PaaS(平台即服务,Platform-as-a-Service)是一种云计算服务模式,可以为客户提供一个完整的云平台(硬件、软件和基础架构)以用于快捷开发、运行和管理项目,从而降低了企业云计算应用的高成本和复杂…

【晴问算法】入门篇—贪心算法—整数配对

题目描述 有两个正整数集合S、T,其中S中有n个正整数,T中有m个正整数。定义一次配对操作为:从两个集合中各取出一个数a和b,满足a∈S、b∈T、a≤b,配对的数不能再放回集合。问最多可以进行多少次这样的配对操作。 输入描…

arthas火焰图(async-profiler)在云交易中的运用

在日常工作中经常会遇到系统应用出现full gc、cpu内存飙高等场景,如果想要快速解决这些线上问题就需要首先能快速定位,最好能定位到具体代码。本文旨在通过一款线上监控诊断产品,阿里巴巴的arthas(阿尔萨斯)内部集成的…

50、C++/类的继承和多态相关学习20240318

一、c编程实现: 封装一个动物的基类,类中有私有成员:姓名,颜色,指针成员年纪; 再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个…

数据结构与算法Bonus-KNN问题的代码求解过程

一、问题提出 (一)要求 1.随机生成>10万个三维点的点云,并以适当方式存储 2.自行实现一个KNN算法,对任意Query点,返回最邻近的K个点 3.不允许使用第三方库(e.g.flann,PCL,opencv)! 4.语言任选(推荐…

从零开始学习在VUE3中使用canvas(二):fillStyle(填充样式)

一、fillStyle概念 在canvas中我们可以用fillStyle定义接下来的图像的样式&#xff0c;默认为黑色#000。 我们可以使用纯色、渐变、和纹理&#xff08;例如图片&#xff09;进行填充&#xff0c;来达到自己想要的效果。 二、代码 <template><div class"canva…

git问题列表(一)(持续更新中~~~)

文章目录 问题1&#xff1a;如何在本地创建git仓库&#xff0c;并推送到远程仓库&#xff1f;问题2&#xff1a;如何创建本地分支&#xff0c;并基于其创建远程分支&#xff1f;问题3&#xff1a;报错“origin does not appear to be a git repository”是什么原因&#xff1f;…

S32 Design Studio PE工具配置FTM

工具配置 FTM就是个计时器&#xff0c;比普通的定时器灵活很多。 要先配置好它映射哪个引脚。 先看看它用哪个设备&#xff0c;FTM3。 initialization FTM moudule clock setup 初始化里面的时钟配置&#xff0c;使用48M的系统时钟&#xff0c;32分频就是1.5M。 在时钟管理…

本地部署大模型记录

前言 一说起大模型&#xff0c;都是需要GPU&#xff0c;能不能有一些方法实现本地也可以部署大模型&#xff0c;这也就是写这一篇的初衷了。 ollama 介绍 ollama主要简化了部署大模型的复杂度 github地址&#xff1a;ollama/ollama&#xff1a;启动并运行 Llama 2、Mistra…

深入了解 Spring boot的事务管理机制:掌握 Spring 事务的几种传播行为、隔离级别和回滚机制,理解 AOP 在事务管理中的应用

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…

zabbix监控InfluxDB

一、简介 InfluxDB是一个时序数据库&#xff0c;旨在处理时间戳数据的高写入和查询负载。它是用Go编程语言编写的开源数据库&#xff0c;专门用于存储和查询时间序列数据&#xff0c;如指标、事件和日志。InfluxDB通常用于监控和可观测性、物联网应用和实时分析。它支持类似SQ…

【C语言】常见的字符串处理函数

目录 1、strlen&#xff08;&#xff09;函数 2、strcpy&#xff08;&#xff09;、strncpy&#xff08;&#xff09;函数 3、strstr&#xff08;&#xff09; 函数 4、strcmp&#xff08;&#xff09;、strncmp&#xff08;&#xff09;函数 5、strcat&#xff08;&#…

SpringCache和redis区别?什么是SpringCache?

目录 一、Redis介绍1.1 Redis缓存1.2 redis缓存使用前提1.3 redis使用缓存的时机 二、实际操作案例2.1 常规准备工作2.2 引入配置redis2.2.1 引入redis的启动依赖2.2.2 在application.yml里面配置redis的地址信息等2.2.3 创建redisTemplate的配置类&#xff0c;指定键值序列化方…

SpringCloud Sleuth 分布式请求链路跟踪

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第十篇&#xff0c;即介绍 Sleuth 分布式请求链路跟踪。 二、概述 2.1 出现的原因 在微服务框架中&…

JavaWeb后端——分层解耦 IOC DI

分层/三层架构概述 三层架构&#xff1a;Controller、Service、Dao 解耦/IOC&DI概述 分层解耦 容器称为&#xff1a;IOC容器/Spring容器 IOC 容器中创建&#xff0c;管理的对象&#xff0c;称为&#xff1a;bean 对象 IOC&DI入门 实现 IOC&DI 需要的注解&#…

21-分支和循环语句_while语句(中)(初阶)

21-2 代码准备 getchar()&#xff1a;获取字符 int ch getchar(); //把获取的字符的ASCII码值放在ch中 int main() {int ch getchar();printf("%c\n", ch); //ch存的是该字符的ASCII码值&#xff0c;此处以字符形式打印ASCII码值对应的字符putchar(ch); } 运…