释机器学习中的召回率、精确率、准确率

精确率和召回率又被叫做查准率和查全率,可以通过P-R图进行表示

如何理解P-R(精确率-召回率)曲线呢?或者说这些曲线是根据什么变化呢?

以逻辑回归举例,其输出值是0-1之间的数字。因此,如果我们想要判断用户的好坏,那么就必须定一个阈值。比如大于0.5指定为好用户,小于0.5指定为坏用户,然后就可以得到相应的精确率和召回率。但问题是,这个阈值是我们随便定义的,并不知道这个阈值是否符合我们的要求。因此为了寻找一个合适的阈值,我们就需要遍历0-1之间所有的阈值,而每个阈值都对应一个精确率和召回率,从而就能够得到上述曲线。

根据上述的P-R曲线,怎么判断最好的阈值点呢?首先我们先明确目标,我们希望精确率和召回率都很高,但实际上是矛盾的,上述两个指标是矛盾体,无法做到双高。因此,选择合适的阈值点,就需要根据实际问题需求,比如我们想要很高的精确率,就要牺牲掉一些召回率。想要得到很高的召回率,就要牺牲掉一些精准率。但通常情况下,我们可以根据他们之间的平衡点,定义一个新的指标:F1分数(F1-Score)。F1分数同时考虑精确率和召回率,让两者同时达到最高,取得平衡。F1分数表达式为

上图P-R曲线中,平衡点就是F1值的分数。

准确率和召回率之间通常存在一定的折衷关系——当阈值较高时,分类器的准确率较高,但召回率较低;

当阈值较低时,分类器的召回率较高,但准确率较低

  • 召回率(灵敏度):对实际为正类的样本,模型能识别出多少是正类(灵敏度)
    分母:实际类别为正的样本个数(TP+FN=实际为正类的样本个数)
    分子:预测为正实际为正的样本个数(TP)
  • 精确率:对正类样本的预测准确程度,
    分母:预测为正的样本个数(TP+FP=正确预测+错误预测)
    分子:预测为正实际为正(TP)
  • 准确率:对所有类别的样本的预测准确程度,
    分母:所有类别样本个数=(预测为正样本个数+预测为负样本个数)
    分子:正确预测样本个数=(预测为正实际为正+预测为负实际为负)

召回率(把正样本叫唤回来,因为我们把本来是正的样本给否定了,提升它就是尽量不要把正确的搞错了,也就是不漏报),精准率就是看我们预测的正样本的到底有多少是真正的正样本,因为有一些负的我们把它判为正了,提升精准率就是不错报。

精确率:分母是预测到的正类,精确率的提出是让模型的现有预测结果尽可能不出错(宁愿漏检,也不能让现有的预测有错)

召回率:分母是原本的正类,召回率的提出是让模型预测到所有想被预测到的样本(就算多预测一些错的,也能接受)

召回率和精确率二者整体是呈负相关关系,局部可能正相关:

  • 当TP增加,召回率一定也增加(TP/实际为正样本数量不变)
  • 而对于精确率:TP增大,FP可能减小也可能增大(更容易增大)。TP增加,FP减小这是理想情况(低偏差),更符合实际情况的是TP增加FP也增加,即分母(TP+FP)更容易增大,精确率则更容易减小。当分子TP增加的部分没有分母增加的多时,精确率减小,
  • 反映到PR曲线上,召回率和精确率整体负相关,但局部可能正相关,例如分子TP增大1,分母(TP增大1+FP减小2)减小,精确率增大。
  • 总结一句话就是:TP增大,召回率一定增大,而精确率更容易减小

precision:focus在不出现错误的分类(宁可漏掉,不能出错)

recall:focus在分类不出现遗漏(宁可出错,不能漏掉)


 

假设你很穷,地主老爷送了一堆掺了沙子(N)的大米(P),现在要做饭了,需要将大米(P)跟沙子(N)进行分离,将掺了沙子(N)的大米(P)分成大米堆(P类)与沙子堆(N类),做饭用大米堆(P类),沙子堆(N类)则选择丢弃,以下有几个指标可以评估分离的好坏程度:

大米堆(P类)=TP+FP

沙子堆(N类)=TN+FN

1、准确率=(TP+TN)/(TP+FP+TN+FN)——全局预测准确性

能成功地(T)把大米(TP)放进大米堆(TP+FP),成功地(T)把沙子(TN)放进沙子堆(TN+FN),综合成功率是多少呢?这就是准确率的关注点,看全局的分类能力,不仅要把大米(TP)分对(T),还要把沙子(TN)也分对(T)。

2、精确率=TP/(TP+FP)——正分类里的预测准确性

准确率有个缺陷,要求太高了。比如你的目的就是煮饭,也就是说你更关注大米堆(TP+FP),你不需要操心沙子(TN)到底有没有被成功地(T)分类到沙子堆(TN+FN)。因此,只要大米堆(TP+FP)里的大米(TP)比例越多,那你做饭的时候,大概率吃到的还是大米(TP),而不是沙子(FN)。因此精确率就是看大米堆(TP+FP)里拥有的可食用大米(TP)比例,也可理解为将来做饭用的大米精度(浓度)。

3、召回率=TP/(TP+FN)——正样本的预测准确性

精确率关注的是吃饭时候,尽可能不要吃到沙子,所以他不关注粮食是否浪费的问题,而召回率关注的就是粮食浪费的问题,毕竟现在提倡节约,所以召回率就是关注大米(TP)样本中被成功地(T)分类到大米堆(P堆)的比例。“召回率”可以理解为,在所有大米(TP+FN)中回收实际食用的大米(TP)的比例。

与前面的P-R曲线类似,ROC曲线也是通过遍历所有阈值来绘制曲线的。如果我们不断的遍历所有阈值,预测的正样本和负样本是在不断变化的,相应的ROC曲线TPR和FPR也会沿着曲线滑动。

同时,我们也会思考,如何判断ROC曲线的好坏呢?我们来看,FPR表示模型虚报的程度,TPR表示模型预测覆盖的程度。理所当然的,我们希望虚报的越少越好,覆盖的越多越好。所以TPR越高,同时FPR越低,也就是ROC曲线越陡,那么模型的性能也就越好。

最后,我们来看一下,不论样本比例如何改变,ROC曲线都没有影响,也就是ROC曲线无视样本间的不平衡问题。

6.2 AUC

AUC(Area Under Curve)表示ROC中曲线下的面积,用于判断模型的优劣。如ROC曲线所示,连接对角线的面积刚好是0.5,对角线的含义也就是随机判断预测结果,正负样本覆盖应该都是50%。另外,ROC曲线越陡越好,所以理想值是1,即正方形。所以AUC的值一般是介于0.5和1之间的。AUC评判标准可参考如下

  • 0.5-0.7:效果较低。
  • 0.7-0.85:效果一般。
  • 0.85-0.95:效果很好。
  • 0.95-1:效果非常好。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何做好【沟通】管理

目录 管理的定义 管理的四大职能: 四共团队: 领导力: 沟通的四种类型听、说、读、写(计划、报告) 沟通四原则 思维框架:结构树报告 管理的定义 彼得.德鲁克:管理通过他人去完成任务的学…

基于java SSM图书管理系统简单版设计和实现

基于java SSM图书管理系统简单版设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系…

c++ 11 新特性 不同数据类型之间转换函数之const_cast

一.不同数据类型之间转换函数const_cast介绍 const_cast是C11中引入的一种类型转换操作符,用于修改类型的const或volatile属性。const_cast的主要用途是移除对象的常量性,它是唯一具有此能力的C风格的转型操作符。在C11中,const_cast可以完成…

Linux安装,配置,启动HBase

Linux安装,配置,启动HBase 一、HBase安装,配置 1、下载HBase安装包 Hbase官方下载地址: http://archive.apache.org/dist/hbase 选择相应的版本点击下载,这里以2.3.5为例 # linux可以通过wget命令下载 wget https://archive…

如何解决Firefox提示“此网站可能不支持TLS1.2协议”的问题 错误代码:SSL_ERROR_UNSUPPORTED_VERSION

1.问题描述 当你在Firefox浏览器中访问一个网站时,可能会遇到这样的提示:   之后,不停地刷新或 重新输入,怎么也访问不进去?? 2.解决步骤 按照以下步骤操作,可以降低Firefox对TLS版本的要求…

HEUFT电源维修x-ray发生器维修HBE211226

HEUFT电源维修x-ray发生器维修HBE211253;海富HEUFT在线液位检测X射线发生器维修,不限型型号系列。 德国海富推出HEUFT在线液位检测装置,满瓶检测系统HEUFT有着强大的功能,它的模块机构能整合很多程序,并依据不同的产品及其包装特性,照相技术,高频技术或X-ray技术。…

[eslint error] ‘v-model‘ should be on a new line.

错误详情 错误原因 此问题是由于.eslintrc.js文件中的vue/max-attributes-per-line配置错误产生的 esline默认要求属性单独开一行 错误解决 所以解决的方法有两个一个是遵从eslint默认规则让属性新开一行,能解决问题 但是我不喜欢看这样子的代码,所以我只好去改掉eslint的规…

声强和能量及其praat操作

强度、声压、能量、功率 这是我们在电学和声学等领域较常见到的词汇,但有时候可能会搞混淆,所以再整理一下。 强度(intensity) 强度,也叫做声强(Sound intensity)。《声学基础》中对于声强的…

Unity 关节:铰链、弹簧、固定、物理材质:摩檫力、 特效:拖尾、

组件-物理-关节:铰链(类似门轴) 自动动作、多少力可以将其断开、 弹簧可以连接另一个刚体(拖动即可) 固定一般是等待一个断裂力,造成四分五裂的效果。 物理材质 设置摩檫力,则可以创造冰面的…

K8S之实现业务的金丝雀发布

如何实现金丝雀发布 金丝雀发布简介优缺点在k8s中实现金丝雀发布 金丝雀发布简介 金丝雀发布的由来:17 世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;当瓦斯…

redis缓存(穿透, 雪崩, 击穿, 数据不一致, 数据并发竞争 ), 分布式锁(watch乐观锁, setnx, redission)

redis的watch缓存机制 WATCH 机制原理: WATCH 机制:使用 WATCH 监视一个或多个 key , 跟踪 key 的 value 修改情况,如果有key 的 value 值在事务 EXEC 执行之前被修改了,整个事务被取消。EXEC 返回提示信息,表示 事务已…

蓝桥杯——矩形拼接

矩形拼接 题目分析 对于一个矩形而言,我可以把它横着放,而可以把它竖着放,比如下图, 3个矩形的拼接情况可以通过在纸上画图模拟出来,情况有以下三种 ​ 图1 图3是4条边,即四边形。观察一下什么时候会是四…

邮件api有哪些作用?使用API发邮件的方法?

邮件api接口发信的流程?如何使用邮件API发送邮件? 在现代的数字化社会,电子邮件成为了人们日常生活和工作中不可或缺的一部分。为了提高邮件处理的效率和自动化程度,邮件API的应用越来越广泛。那么,邮件API究竟有哪些…

FMEA视角下的未来:拥抱变化,探索无限可能!

在快速发展的现代社会中,预测未来变得越来越具有挑战性。FMEA(失效模式与影响分析)作为一种预防性质量工具,虽然主要用于评估产品设计或过程中的潜在故障,但其核心理念——识别风险、预防失误,同样适用于我…

使用anaconda管理多python版本环境

anaconda使用 安装 下载地址 miniconda anaconda 两者区别 Miniconda只包含了conda和Python,以及一些必要的依赖项,它的安装文件较小,占用空间较少,用户可以根据需要自行安装其他的包。Anaconda包含了conda、Python和超过150…

Android应用界面

概述:由于学校原因,估计会考,曹某人就浅学一下。 View概念 安卓中的View是所有UI控件的基类,它代表着屏幕上的一个矩形区域,用于展示数据和接收用户事件。 UI控件的基础:在Android开发中,Vie…

SpringCloud 微服务架构编码构建

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第一篇,即不使用 SpringCloud 组件进行模块之间的调用,后续会有很多的文章循序渐…

12.WEB渗透测试-Linux系统管理、安全加固(下)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:11.WEB渗透测试-Linux系统管理、安全加固(上)-CSDN博客 Linux任务…

(二十二)从零开始搭建k8s集群——高可用kubernates集群搭建上篇

前言 本节内容分为上、中、下三篇,上篇主要是关于搭建k8s的基础环境,包括服务器基本环境的配置(网络、端口、主机名、防火墙、交换分区、文件句柄数等)、docker环境部署安装配置、镜像源配置等。中篇会介绍k8s的核心组件安装、k8…

STM32 学习10 PWM输出

STM32 学习10 PWM输出 一、PWM简介1. PWM的概念2. PWM的工作原理3. PWM 常用的应用场景 二、一些概念1. 频率2. 占空比 三、STM32F1 PWM介绍1. 定时器与寄存器(1)**自动重装载寄存器(ARR)**:(2)…