【机器学习300问】44、P-R曲线是如何权衡精确率和召回率的?

        关于精确率和召回率的基础概念我已经写了两篇文章,如果友友还不知道这两个评估指标是什么,可以先移步去看看这两篇文章:

【机器学习300问】25、常见的模型评估指标有哪些?icon-default.png?t=N7T8http://t.csdnimg.cn/JtuUO       

        总结一下这两个概念,这里直接最凝练的说出其本质:精确率(误测,测正类有多准,查准率);召回率(漏测,测正类有多全,查全率)

【机器学习300问】31、不平衡数据集如何进行机器学习?icon-default.png?t=N7T8http://t.csdnimg.cn/L8idA

        想象一下,你是一位宝石鉴定师,你的工作是在一堆石头中找到所有的宝石。在这个任务中,精确率(Precision)相当于你找到的宝石中真正是宝石的比例,而召回率(Recall)则是你能够找到的宝石总数占所有宝石的比例。

        现在存在这么一种情况,你大多数时候都能找到真正的宝石(红宝石、绿宝石),但你找到的这些宝石并不是你最喜欢的宝石(蓝宝石)。这是为什么呢?

        还有一种情况是,你找到了许多的宝石,这些被你选出的石头里五花八门涵盖了许多宝石(红宝石、绿宝石、蓝宝石都有),但同时相当一部分并不是宝石。

一、精确率和召回率的权衡

(1)问题出在哪儿呢?

  • 高准确率低召回率:如果你非常小心,只有当你百分百确定时,你才会确定一块石头是宝石,那么你找到的“宝石”几乎都是真宝石——这就是很高的精确率,但是你可能会错过一些实际上是宝石的石头,因为你太谨慎了——这会导致较低的召回率。
  • 低准确率高召回率:另一方面,如果你决定宁可错杀三千,绝不放过一个,你可能会将更多的普通石头也当做宝石,这样你几乎能找到所有的宝石——即很高的召回率,但这其中也混入了很多并非宝石的杂石——这就导致了低精确率。

(2)怎么去解决?

        要解决高准确率低召回率或低准确率高召回率的问题,首先应明确实际应用中对精确率和召回率的需求权重,然后通过调整模型决策阈值、优化模型本身,并结合F1分数、ROC曲线和P-R曲线的分析来指导模型调优过程。

【机器学习300问】32、F1分数是什么?icon-default.png?t=N7T8http://t.csdnimg.cn/khqRi

二、P-R曲线是什么?

        本文主要介绍P-R曲线这种方法,来看看它是如何解决精确率和召回率的权衡问题的。P-R曲线可以直观反映精确率随召回率变化的情况,尤其是在数据不平衡的情况下更具指导意义。通过分析P-R曲线,可以找到一个既能保持相对较高的精确率又能提高召回率的理想工作点。

(1)P-R曲线的定义

        P-R曲线(Precision-Recall Curve)是针对二分类问题中模型性能评估的一种可视化工具,主要用于展现模型在不同阈值条件下的精确率和召回率之间的关系

  • 横轴(X轴):召回率(Recall)
  • 纵轴(Y轴):精确率(Precision)
  • 图中的点:不同阈值下的(r,p)

(2)P-R曲线的图像

        在构建P-R曲线的过程中,通常会调整模型的决策阈值,从而获得一系列的精确率和召回率对,这些对在坐标系中连接起来形成一条曲线。

P-R曲线
P-R曲线

        通过对这条曲线的分析,可以了解模型在不同阈值下如何权衡精确识别正类的能力(精确率)与找出尽可能多的正类实例的能力(召回率),即找到图中的平衡点,平衡点对应的阈值就是模型最合适的阈值。图中A、B、C是三个不同的模型,他们有着不同的平衡点。

① 寻找平衡点的三个方法

  1. 观察曲线形状来找平衡点P-R曲线越靠近右上角,表示模型在保持高召回率的同时也能保持高精确率,这是最优的表现。
  2. 通过最高的F1分数来找平衡点,F1分数是精确率和召回率的调和平均值,它提供了一个单值度量来评估模型在这两个指标上的均衡表现。在P-R曲线上对应的F1分数最高的点,通常被认为是精确率和召回率的较好平衡点。
  3. 根据实际需求选择,如果业务对召回率有极高要求(比如疾病筛查,宁可错诊也不愿漏诊),则会选择召回率较高的点;如果对精确率有极高要求(比如防止误报警系统),则会选择精确率较高的点。

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

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

相关文章

SQL Server 文件组详解

数据文件组 SQL Server 数据库最常用的存储文件是数据文件和日志文件。 数据文件用于存储数据,由一个主要数据文件(.mdf)和若干个次要数据文件(.ndf)构成;日志文件用于存储事物日志,由.ldf文件…

Java全栈课程之Linux———基本属性

一、看懂文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在Linux中我们可以使…

2000元投影仪坚果N1 Air怎么样?对比D5X哪款更好?

投影仪市场,近年来作为家电数码领域的新星,已经引起了广泛的关注。特别是在年轻人群体中,投影仪成为了提升生活品质、享受家庭娱乐时光的重要工具。随着市场的繁荣,各种品牌和型号的投影仪如雨后春笋般涌现,其中&#…

Linux--进程(1)

目录 前言 1.冯诺依曼体系结构 2. 操作系统(Operator System)--第一个被加载的软件 3.进程 3.1基本概念 3.2Linux中的PCB 3.3通过系统调用创建子进程-fork初识 fork:创建一个子进程 为什么要创建子进程? fork的原理: 进一步了解fo…

Mora: Enabling Generalist Video Generation via A Multi-Agent Framework

Mora: Enabling Generalist Video Generation via A Multi-Agent Framework PDF: https://arxiv.org/html/2403.13248v1 1 概述 为弥补Sora不开源的缺陷,本文提出多代理框架Mora,整合先进视觉AI代理,复制Sora的全能视频生成能力。Mora能利用…

2024年《期刊引证报告》解读,迎来哪些新调整?

​ 【SciencePub学术】 近日,科睿唯安官方发布了一则关于2024年《期刊引证报告》:为增强透明度和包容性,期刊影响因子学科排名迎来新调整的文章。文章中对今年新调整过的地方做出了详细的解释。 截图来源:科睿唯安公众号 动态一…

#Linux(连接档概念)

(一)发行版:Ubuntu16.04.7 (二)记录: (1)硬链接(inode,建立硬链接的文件inode号相同) (2)创建硬链接:ln 文件名1 文件名…

css设置div的2个span一个在最左边,一个在最右边

界面&#xff1a; 代码&#xff1a; <html><style>.top span {display: block;position: absolute;margin: 0 20px; /* 添加边距以避免太靠近边缘 */ }.top span:nth-child(1) {left: 5px; /* 调整左侧位置 */ }.top span:nth-child(2) {right: 5px; /* 调整右侧位…

【前端性能】前端性能优化方法总结

关于前端性能指标和测量方法可以看这篇&#xff1a;【前端性能】前端性能指标和测量方法总结 文章目录 前端性能优化网络方向HTTP缓存本地储存HTTP升级DNS预解析使用CDN 渲染方向HTMLCSSJS图片Webpack优化 前端性能优化 可以从网络请求方向和页面渲染方向进行优化&#xff1a…

鸿蒙一次开发,多端部署(六)自适应布局

针对常见的开发场景&#xff0c;方舟开发框架提炼了七种自适应布局能力&#xff0c;这些布局可以独立使用&#xff0c;也可多种布局叠加使用。 下面我们依次介绍这几种自适应布局能力。 拉伸能力 拉伸能力是指容器组件尺寸发生变化时&#xff0c;增加或减小的空间全部分配给容…

鸿蒙一次开发,多端部署(十一)设置应用页面

本小节以“设置”应用页面为例&#xff0c;介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 为充分利用屏幕尺寸优势&#xff0c;应用常常有在小屏设备上单栏显示&#xff0c;大屏设备上左右分两栏显示的设计&#xff0c;设置应用页面设计如下。 观察…

不要取和所用方法名字相同的类

package 练习; import java.util.*; public class StringBuilder {public static void main(String[] args){Scanner scan new Scanner(System.in);String r scan.nextLine();StringBuilder x new StringBuilder(r);System.out.println(x);}} 奉上错误代码&#xff08;上面&…

qt5-入门-标签页部件QTabWidget-1

参考&#xff1a; C GUI Programming with Qt 4, Second Edition 本地环境&#xff1a; win10专业版&#xff0c;64位&#xff0c;Qt5.12 目录 效果实现Qt Designer操作代码addStretch()解释 效果 首页有三个按钮和最近文件列表。 拖动窗口&#xff0c;按钮和文件列表仍然处…

【C++】1600. 请假时间计算

问题&#xff1a;1600. 请假时间计算 类型&#xff1a;基本运算、整数运算 题目描述&#xff1a; 假设小明的妈妈向公司请了 n 天的假&#xff0c;那么请问小明的妈妈总共请了多少小时的假&#xff0c;多少分钟的假&#xff1f;&#xff08;提示&#xff1a; 1 天有 24 小时&…

关于UDS刷写的一些杂谈

最近在做CAPL编写UDS刷写上位机的工作&#xff0c;后续过来更新现在这里查个眼&#xff0c;以免后面忘记了。 下面放一些可能会用到的知识点&#xff1a; 1.一般的刷写流程如下所示&#xff1a; 红色标记代表为功能寻址。 预编程&#xff1a;10 01&#xff0c;10 83&#xf…

Linux——du, df命令查看磁盘空间使用情况

一、实现原理&#xff1a; df 命令的全称是Disk Free &#xff0c;显而易见它是统计磁盘中空闲的空间&#xff0c;也即空闲的磁盘块数。它是通过文件系统磁盘块分配图进行计算出的。 du 命令的全称是 Disk Used &#xff0c;统计磁盘有已经使用的空间。它是直接统计各文件各目…

HarmonyOS4.0—自定义渐变导航栏开发教程

前言 今天要分享的是一个自定义渐变导航栏&#xff0c;本项目基于鸿蒙4.0。 先看效果&#xff1a; 这种导航栏在开发中也比较常见&#xff0c;特点是导航栏背景色从透明到不透明的渐变&#xff0c;以及导航栏标题和按钮颜色的变化。 系统的导航栏无法满足要求&#xff0c;我们…

8868体育助力西甲赫罗纳 争冠黑马惨遭掀翻

西甲的赫罗纳足球俱乐部是8868体育助力的球队之一&#xff0c;西甲排名第12的赫塔费队迎来了西甲第29轮的较量&#xff0c;赫塔费队此役坐镇自己的主场PK赛前排名第2的争冠超级黑马赫罗纳队。 赛前赫塔费队已经连续4轮联赛不胜&#xff08;2平2负状态低迷&#xff09;&#xff…

力扣 字符串解码

维护一个放数字的栈&#xff0c;一个放字母的栈 遇到[把数字和字母入栈&#xff0c;遇到]把当前字母循环加上数字栈头遍的字母栈头 class Solution { public:string decodeString(string s) {string ans"";stack<int>sz;stack<string>zm;里面是string …

一文讲清!进销存管理系统如何实现锁库及库存冻结?计算月加权平均成本?

进销存管理系统中的锁库及库存冻结如何实现&#xff1f;进销存管理系统如何计算月加权平均成本&#xff1f;进销存管理系统又该如何统计和预测采购需求&#xff1f;这些进销存管理难题困扰着许多企业管理者。本文将结合数年从业经验&#xff0c;深入探讨这些进销存管理难题&…