【机器学习300问】30、准确率的局限性在哪里?

news2025/2/26 13:39:39

一、什么是准确率?

        在解答这个问题之前,我们首先得先回顾一下准确率的定义,准确率是机器学习分类问题中一个很直观的指标,它告诉我们模型正确预测的比例,即

Accuracy=\frac{N_{correct}}{N_{total}}

        还是用我最喜欢的方式,举例子来解释一下:

        假设我们的任务是将苹果(1)和橘子(0)分开,按照水果的形状、颜色特征来识别并分拣。现在有一个篮子,里面装满了分好的水果。现在,我们要评估一下我们今天工作的准确性。我们就开始一个个地检查篮子里的水果。如果篮子里有100个水果,其中90个是正确分类的(苹果1),那么我们的分拣准确率就是90%。

        准确率(Accuracy) = (正确分类的水果数量) / (篮子里水果的总数量)

        在这个案例中:准确率 = 90 / 100 = 0.9 或 90%

关于更多其他评估指标,也可以读读我之前的文章作为补充哦。

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

二、准确率局限在哪儿?

        准确率虽然是一个直观的模型评估指标,但它有一些局限性,尤其是在处理不平衡数据集(即数据集中某些类别的样本数量远多于其他类别)时。那为什么不平衡的数据集就会导致准确率失去作用呢?

(1)罕见疾病诊断任务为例

        目的是预测一组患者是否患有某种疾病。设想这个疾病相对较罕见,所以在1000名患者中,也许只有10人实际上患有这种疾病。患病的人(正类)没有患病的人(负类),一个简单的模型可能会采取最保守的策略,预测所有人都没有患病。

        按照准确率的计算方式,这个模型将会有一个很高的准确率:

Accuracy=\frac{990+0}{1000}=0.99

        因为模型预测所有的人都没患病,但实际上有10个人患病,所以模型预测对了990个人,于是分子为990,但是对实际临床应用没有任何价值,因为它没有识别出任何真正的病例。这就是准确率的局限性所在:在不平衡数据集的情况下,它没有考虑到预测的分布是否匹配了现实情况,也没有区分假阳性和假阴性的错误类型。

         在医疗领域,漏诊(False Negative, FN, 假阴性)的后果通常比误诊(False Positive, FP, 假阳性)更严重。例如,如果模型未能正确识别出癌症患者,可能导致病情延误、治疗不及时甚至危及生命;而误诊为癌症可能会带来不必要的心理压力和过度治疗,但可以通过进一步检查和专家复核来降低风险。准确率指标无法反映这种重要类别(患病)的识别效果。

  • 漏诊(False Negative, FN, 假阴性)模型猜错了[False],猜的是没有得病[Negative],实际上这个人是得病了
  • 误诊(False Positive, FP, 假阳性)模型猜错了[False],猜的是得病了[Positive],实际上这个人没得病

(2)电商平台推荐奢侈品任务为例

        假设我们正在开发一个系统来为用户推荐高端奢侈品牌商品,通常情况下,消费高端奢侈品的用户群体相比整体用户群体来说要小得多。在所有用户中,可能只有一小部分用户会对奢侈品产生购买行为。因此,数据集在这里是不平衡的,即购买用户(正类)远少于非购买用户(负类)。

        假设在一个数据集中,有10000名用户,其中只有100名用户实际购买了奢侈品。如果我们的推荐系统简单地对所有用户都不推荐奢侈品,那么它将在9900个用户身上做出正确的决策(不推荐给不会购买的用户),看上去好像这个推荐系统的准确率很高

Accuracy=\frac{9990+0}{10000}=0.99

        这个推荐系统实际上完全失败了,因为它没有成功推荐任何一名用户购买奢侈品,即所有有购买意愿的用户(100名)都被忽略了。

        在推荐奢侈品时,误推的成本(False Positive, FP, 假阳性)可能非常高昂。如果推荐给一个对奢侈品兴趣不大或者经济能力不足的用户,不仅浪费了宝贵的推广资源,还可能损害用户体验,降低用户对平台的信任度。漏推的成本(False Negative, FN, 假阴性)同样重要。如果未能识别出潜在的奢侈品买家并向他们推送相关商品,可能导致销售机会的流失和利润减少。

  • 误推(False Positive, FP, 假阳性)模型推荐了不买奢侈品的人,推错了[False],模型猜他想买[Positive]
  • 漏推(False Negative, FN, 假阴性)模型没有推荐给买奢侈品的人,没推[False],模型猜他不想买[Negtive]

三、有什么办法能对不平衡数据集情况下的模型进行评估呢?

        这时候就要考虑用其他的指标来精确率和召回率,关于精确率和召回率的定义,我在另一篇文章中已经介绍过了,链接已经放在上面啦!关于如何不平衡数据集下如何评估模型,我会单独出一篇文章来说精确率和召回率到底怎么理解,还会继续用上面两个任务为大家来深度剖析这两个指标是怎么起作用的。

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

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

相关文章

业务随行简介

定义 业务随行是一种不管用户身处何地、使用哪个IP地址,都可以保证该用户获得相同的网络访问策略的解决方案。 背景 在企业网络中,为实现用户不同的网络访问需求,可以在接入设备上为用户部署不同的网络访问策略。在传统园区网络中&#xf…

文本生成视频:从 Write-a-video到 Sora

2024年2月15日,OpenAI 推出了其最新的文本生成视频模型——Sora。Sora 能够根据用户的指令生成一分钟长度的高质量视频内容。这一创新的发布迅速在社会各界引发了广泛关注与深入讨论。本文将围绕本实验室发表于SIGGRAPH AISA 的 Write-a-video和 Sora 展开&#xff…

修改简化docker命令

修改|简化docker命令 使用命令打开 .bashrc 文件: vim ~/.bashrc在文件中添加类似以下行来创建别名: # 查看所有容器 alias disdocker images # 查看运行容器 alias dpsdocker ps # 查看所有容器 alias dpsadocker ps -a # 停止容器 alias dsdocker s…

python 蓝桥杯之动态规划入门

文章目录 DFS滑行(DFS 记忆搜索) 思路: 要思考回溯怎么写(入参与返回值、递归到哪里,递归的边界和入口) DFS 滑行(DFS 记忆搜索) 代码分析: 学会将输入的数据用二维列表…

云原生架构设计:分布式消息队列技术解析

消息队列是在消息传输过程中保存消息的容器,消息队列管理器在将消息从源到目标时充当中间人的角色,消息队列的主要目的是提供路由并保证消息的可靠传递。如果发送消息时接收者不可用,那消息队列就会保留消息,直到下次成功消费为止…

超网、IP 聚合、IP 汇总分别是什么?三者有啥区别和联系?

一、超网 超网(Supernet)是一种网络地址聚合技术,它可以将多个连续的网络地址合并成一个更大的网络地址,从而减少路由表的数量和大小。超网技术可以将多个相邻的网络地址归并成一个更大的网络地址,这个更大的网络地址…

C语言:通讯录(纯代码)

目录 背景&#xff1a;VS2019编译器 创建文件&#xff1a; contact.h代码&#xff1a; test.c代码&#xff1a; contact.c代码&#xff1a; 背景&#xff1a;VS2019编译器 创建文件&#xff1a; contact.h代码&#xff1a; #pragma once#include <string.h> #includ…

第二课 情感认知模型

一、学习目标 1.学习各种思想的情感模型 2.了解通过情感诱发方法所建立的情感模型 二、情感模型 想要进行情感计算&#xff0c;首先步骤就是对情感建模&#xff0c;要分析理解情感的产生&#xff0c;从而才能让计算机理解情感。由于情感是感性的&#xff0c;所以现有的情感模…

设计模式 代理模式

代理模式主要使用了 Java 的多态&#xff0c;主要是接口 干活的是被代理类&#xff0c;代理类主要是接活&#xff0c; 你让我干活&#xff0c;好&#xff0c;我交给幕后的类去干&#xff0c;你满意就成&#xff0c;那怎么知道被代理类能不能干呢&#xff1f; 同根就成&#xff…

ai学习前瞻-python环境搭建

python环境搭建 Python环境搭建1. python的安装环境2. MiniConda安装3. pycharm安装4. Jupyter 工具安装5. conda搭建虚拟环境6. 安装python模块pip安装conda安装 7. 关联虚拟环境运行项目 Python环境搭建 1. python的安装环境 ​ python环境安装有4中方式。 从上图可以了解…

BulingBuling - 《金钱心理学》 [ The Psychology of Money ]

金钱心理学 摩根-豪泽尔 关于财富、贪婪和幸福的永恒课程 The Psychology of Money Morgan Housel Timeless Lessons on Wealth, Greed, and Happiness 内容简介 [ 心理学 ] [ 金钱与投资 ] Whats it about? [ Psychology ] [ Money & Investments ] 《金钱心理学》&…

Jmeter---非GUI命令行的执行生成报告、使用ant插件执行接口测试脚本生成报告

非GUI命令行的执行 1. 在jmx后缀的文件目录下打开命令行 2. 运行&#xff1a; jmeter -n -t filename.jmx&#xff08;-n : 非GUI的方式 -t: 指定需要执行的脚本&#xff09; 生成jtl报告 运行&#xff1a; jmeter -n -t filename.jmx -l result_filename.jtl 生成html报…

【解读】OWASP大语言模型应用程序十大风险

OWASP大型语言模型应用程序前十名项目旨在教育开发人员、设计师、架构师、经理和组织在部署和管理大型语言模型&#xff08;LLM&#xff09;时的潜在安全风险。该项目提供了LLM应用程序中常见的十大最关键漏洞的列表&#xff0c;强调了它们的潜在影响、易利用性和在现实应用程序…

剑指offer经典题目整理(二)

一、斐波那契数列&#xff08;fib&#xff09; 1.链接 斐波那契数列_牛客题霸_牛客网 (nowcoder.com) 2.描述 斐波那契数列就是数列中任意一项数字&#xff0c;都会等于前两项之和&#xff0c;满足f(n) f(n-1) f(n-2) 的一个数列&#xff0c;例如&#xff1a;1 1 2 3 5 8…

类与对象-对象特性

师从黑马程序员 对象的初始化和清理 构造函数和析构函数 用于完成对象的初始化和清理工作 如果我们不提供构造和析构&#xff0c;编译器会提供编译器提供的构造函数和析构函数是空实现 构造函数&#xff1a;主要用于创建对象时为对象的成员属性赋值&#xff0c;构造函数由编…

CSS伪类与常用标签属性整理与块级、行级、行级块标签(文本,背景,列表,透明,display)

目录 文本 color&#xff1a;字体颜色 font-size&#xff1a;字体大小​编辑 front-family&#xff1a;字体 text-align&#xff1a;文本对齐 text-decoration:line-through&#xff1a;定义穿过文本下的一条线 text-decoration:underline&#xff1a;定义文本下的一条线…

7-15 2.2 译密码

输入5个字母&#xff0c;将其译成密码&#xff0c;密码规律是&#xff1a;用原来的字母后面第4个字母代替原来的字母。例如&#xff1a;A被E代替&#xff0c;C被G代替。 输入格式: 输入一行5个字符 输出格式: 输出一行5个字符 输入样例: China输出样例: Glmre #include …

前端框架的发展历程

文章目录 前言 一、静态页面时代 二、JavaScript的兴起 三、jQuery的出现 四、前端框架的崛起 1.AngularJS 2.React 3.Vue.js 五、面向组件化的发展趋势 总结 前言 前端框架的发展史就是一个不断进化的过程&#xff0c;它的发展和进化一定程度…

消息服务--Kafka的简介和使用

消息服务--Kafka的简介和使用 前言异步解耦削峰缓存1、消息队列2、kafka工作原理3、springBoot KafKa整合3.1 添加插件3.2 kafKa的自动配置类3.21 配置kafka地址3.22 如果需要发送对象配置kafka值的序列化器3.3 测试发送消息3.31 在发送测试消息的时候由于是开发环境中会遇到的…

flask-sqlalchemy库

彩笔激流勇退。 1. 简介 ORM&#xff0c;对象关系映射。简单来说&#xff0c;ORM将数据库中的表与面向对象中的类建立了一种对应关系。这样&#xff0c;我们要操作数据库&#xff0c;表&#xff0c;记录就可以直接通过操作类或者类实例来完成。 SQLAlchemy 是目前python中最…