【机器学习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.rhkb.cn/news/285915.html

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

相关文章

C语言动态内存管理

CSDN成就一亿技术人 目录 一.为什么要存在动态内存分配 二.动态内存函数 1.malloc和free 2.calloc 3.realloc 三.常见的动态内存错误 1.对NULL指针的解引用操作 2.对动态开辟空间的越界访问 3.对非动态开辟内存使用free释放 4.使用free释放一块动态开辟内存的一…

总结虚函数表机制——c++多态底层原理

前言: 前几天学了多态。 然后过去几天一直在测试多态的底层与机制。今天将多态的机制以及它的本质分享给受多态性质困扰的友友们。 本节内容只涉及多态的原理, 也就是那张虚表的规则,有点偏向底层。 本节不谈语法!不谈语法&#x…

【MySQL】InnoDB引擎

逻辑结构 InnoDB存储引擎逻辑结构如图所示: Tablespace:表空间,一个数据库可以对应多个表空间。数据库中的每张表都有一个表空间,用来存放表记录、索引等数据。 Segment:段,表空间中有多个段&#xff0c…

R语言迅速计算多基因评分(PRS)

Polygenic Risk Scores in R 最朴素的理解PRS: GWAS分析结果中,有每个SNP的beta值、se值、P值,因为GWAS分析中将SNP变为0-1-2编码,所以这些显著的SNP的beta值,就可以用于预测。 比如:GWAS分析中&#xf…

iOS开发之SwiftUI

iOS开发之SwiftUI 在iOS开发中SwiftUI与Objective-C和Swift不同,它采用了声明式语法,相对而言SwiftUI声明式语法简化了界面开发过程,减少了代码量。 由于SwiftUI是Apple推出的界面开发框架,从iOS13开始引入,Apple使用…

成为创作者的第 730 天——创作纪念日

​​ 文章目录 📨 官方致信🎯我的第一篇文章🧩 机缘与成长 🎯 成就🎯 目标 📨 官方致信 今天早上打开 CSDN 私信一看,看到了这一条消息,然后看了下日期。突然感慨到,是…

基于NetCoreServer的WebSocket客户端实现群播(学习笔记)

一、NetCoreServer介绍 超快速、低延迟的异步套接字服务器和客户端 C# .NET Core 库,支持 TCP、SSL、UDP、HTTP、HTTPS、WebSocket 协议和 10K 连接问题解决方案。 开源地址:https://github.com/chronoxor/NetCoreServer 支持: Example: TC…

Java中的代理模式(动态代理和静态代理)

代理模式 我们先了解一下代理模式: 在开发中,当我们要访问目标类时,不是直接访问目标类,而是访问器代理类。通过代理类调用目标类完成操作。简单来说就是:把直接访问变为间接访问。 这样做的最大好处就是&#xff1a…

基于Spring Boot网络相册设计与实现

摘 要 网络相册设计与实现的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓,iOS相比较起来&am…

在微信小程序中或UniApp中自定义tabbar实现毛玻璃高斯模糊效果

backdrop-filter: blur(10px); 这一行代码表示将背景进行模糊处理,模糊程度为10像素。这会导致背景内容在这个元素后面呈现模糊效果。 background-color: rgb(255 255 255 / .32); 这一行代码表示设置元素的背景颜色为白色(RGB值为0, 0, 0)&a…

第八节:深入讲解SMB中的Http组件

一、概述 Http组作是SMB中的核心组件之一,在第七节中讲解了如何简洁的进行web程序部署和运行,这只是它的功能之一。在本节中,我们将介绍Http组件的重要属性。 二、请求头Request 1、支持方法 支持POST、GET、PUT、DELETE、OPTIONS等方法&a…

uniapp ios证书失效

前面是按照网上查找的方法 作者大大的地址 1、一个ios账户(688付费版) 2、登录 Apple Developer 3、创建Identifiers ps:创建时需继承苹果的sdk,只需要一个就行 点击continue再点击Register即可 4、创建.cer证书 &…

DP:斐波那契数列模型

创作不易,感谢三连支持 ! 斐波那契数列用于一维探索的单峰函数之中,用于求解最优值的方法。其主要优势为,在第一次迭代的时候求解两个函数值,之后每次迭代只需求解一次 。 一、第N个泰波那契数 . - 力扣(…

AnyGo for Mac最新激活版:位置模拟软件打破地域限制

AnyGo for Mac,一款专为Mac用户打造的位置模拟软件,让您能够轻松打破地域限制,畅享无限可能。 软件下载:AnyGo for Mac v7.0.0最新激活版 通过AnyGo,您可以随时随地模拟出任何地理位置,无论是国内热门景点还…

Word2vec学习笔记

(1)NNLM模型(神经网络语言模型) 语言模型是一个单纯的、统一的、抽象的形式系统,语言客观事实经过语言模型的描述,比较适合于电子计算机进行自动处理,因而语言模型对于自然语言的信息处理具有重…

【Unity】uDD插件抓屏文字显示不清晰怎么办?

【背景】 之前介绍过用一款简称uDD(uDesktopDuplication)的开源插件抓取电脑桌面。整体效果不错,看电影很流畅。但是当切换到文档,或者仔细看任何UI的文字部分时,发现就模糊了。 【分析】 由于是依托于Canvas上的Te…

【vue3学习之路(一)】

文章目录 前言一、vue3项目创建1.1环境准备1.1.1 基于 vue-cli 创建(脚手架创建)1.1.2 基于 vite 创建(推荐) 二、熟悉流程总结 前言 参考视频:https://www.bilibili.com/video/BV1Za4y1r7KE?p10&spm_id_frompag…

怎么压缩动图的大小?gif图片过大怎么压缩?动图压缩不求人

工作中,大家都可能会遇到处理GIF图片的情况。 比如: 1.网站 网页上如果有一大堆图片,一定要处理动图(它容量太大了)。 因为这玩意多了很卡,使网页加载速度慢。 2.公众号 公众号上传动图和整篇推文是有…

4.1.1 SN74LVC245A型总线收发器

SN74LVC245A是德州仪器(Texas Instruments)推出的一款集成电路芯片,属于SN74系列。它是一款双向总线驱动器,可用于高速CMOS逻辑电平之间的电平转换。这款芯片可以实现3.3V/5V逻辑电平之间的转换,具有高速和低功耗的特点。SN74LVC245A在电子系统中常用于数据总线的电平转换…

QT_day3:2024/3/22

作业1:设计界面 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin…