理解机器学习中的类别不平衡问题

大家好,实际世界的数据集通常是杂乱的,当不同类别之间的样本分布不均匀时,就会出现类别不平衡。或者说,某些类别的样本比其他类别多得多。例如,考虑一个信用卡违约数据集,信用卡违约是一个相对较少发生的事件,而没有违约的情况则占据了绝大多数。这种不平衡可能会对模型的训练和性能产生影响。

在这样的情况下,模型可能会更倾向于学习如何正确地分类没有违约的情况,而对于违约的情况可能学到的信息相对较少。这可能导致在实际应用中,模型对于违约的情况预测效果不佳,因为它没有足够的样本来学习如何准确地识别这个相对较少发生的类别。

在处理类别不平衡的问题时,通常需要采取一些技术手段,如过采样、欠采样、使用不同的损失函数或集成学习方法,以帮助模型更好地处理少数类别的样本。

一、为模型训练和评估选择正确指标 

准确率指标

准确率是机器学习模型训练和评估中常用的指标。然而在不平衡的数据集上,高准确率可能是一个误导性的指标,因为模型可以通过大多数时间预测多数类别来获得高准确率分数。

以一个包含1000名信用卡用户数据的数据集为例。在这1000人中,只有50人违约,而950人没有。假设我们的模型只是简单地为每个人预测“不违约”,而没有真正学习数据集中的潜在模式。

通过混淆矩阵的计算,可以得到以下结果:

  • 真正例(TP)= 0

  • 真负例(TN)= 950

  • 假正例(FP)= 0

  • 假负例(FN)= 50

  • 准确率(Accuracy)=(TP + TN)/(TP + TN + FP + FN)=(0 + 950)/1,000 = 95%

尽管该模型实现了95%的准确率,听起来相当高,但实际上这个模型是完全无用的,因为它在完全未能检测到潜在违约的情况下取得了高准确率。

不平衡数据集的度量指标

在数据集存在类别不平衡的情况下,精确度、召回率和F1分数是更好的度量标准。

精确度(Precision):精确度( the Positive Predictive Value/ PPV)衡量了所有预测为正的观察值中正确预测的数量。

  • 精确度(Precision) = TP / (TP + FP) = 0 / (0 + 0)

使用上述混淆矩阵,精确度未定义,或者出于实际目的,可以视为0。

召回率(Recall):召回率(也称为敏感性或真正例率)是实际正例中正确预测的观察数量。

  • 召回率(Recall) = TP / (TP + FN) = 0 / (0 + 50) = 0

召回率为0%,这表明模型未检测到任何实际违约。

F1分数(F1-Score):F1分数是精确度和召回率的调和平均数。它是将精确度和召回率结合成一个单一指标的一种方式。

  • F1分数(F1-Score) = 2 × ((精确度 × 召回率) / (精确度 + 召回率))

对于我们的模型,F1分数未定义,因为精确度和召回率都为0。

ROC曲线

当将分类问题建模为回归问题时,模型对样本属于“正”标签的概率可以用来进行分类,其概率在某个阈值以上。ROC曲线是真正例率(TPR)或召回率相对于假正例率(FPR)或误报率在不同阈值设置下的图表。

图片

曲线从点(0,0)开始,并以点(1,1)结束。从点(0,0)到点(1,1)的对角线代表随机分类器的ROC曲线。ROC曲线越靠近左上角,分类器的性能就越好。

ROC曲线下面积(AUC-ROC)提供了模型区分正负类别能力的度量。完美的分类器的AUC为1。完全随机的分类器的AUC为0.5。

曲线的陡峭度表示性能:陡峭的曲线表示模型具有良好的召回率,逐渐增加表示更多的假阳性。

请注意,ROC曲线仅关注正类别,并且较差地反映了模型在负类别上的性能。因此,对于不平衡的数据集,通常认为精确度-召回率曲线(Precision-Recall (PR) curve)曲线比ROC曲线更好。

精确度-召回率曲线

这个曲线是精确度(正预测值/PPV)相对于召回率(敏感性或真正例率)的不同阈值的绘图。

图片

  • 在绘图的右上角,精确度和召回率都为1,表示一个完美的分类器。

  • 一个随机分类器的精确度等于正样本的比例。

  • 精确度-召回率曲线下面积越大(AUC-PR),模型越好。

  • 一个完美的分类器的AUC-PR为1,而一个随机分类器的AUC-PR等于正样本的比例。

二、处理类别不平衡

可以使用以下方法来解决类别不平衡:

  • 数据层方法:改变给定不平衡数据集的分布。

  • 算法层方法:使机器学习模型更能适应类别不平衡。

数据层方法

1.随机重采样(Random Resampling)

在这种方法中,从多数类别中随机删除样本(欠采样),并随机复制少数类别的样本(过采样)。

2.SMOTE 过采样(SMOTE Oversampling)

SMOTE(Synthetic Minority Over-sampling Technique)是一种用于增加数据集中少数类别样本的技术。其工作方式如下:

  • 对于少数类别中的每个样本,随机选择其k个最近邻居。

  • 计算该样本与其选择的邻居的特征向量之间的差异。

  • 将差异乘以0到1之间的随机数。

  • 将结果加到样本的特征向量中。这在特征空间中生成一个新点。重复此过程直到解决类别不平衡问题。

3.ADA-SYN 过采样(ADA-SYN Oversampling)

ADA-SYN(Adaptive Synthetic Sampling)是SMOTE的扩展,它根据模型在学习中的难度自适应地生成新样本。在少数类别被多数类别包围且较难学习的区域,生成更多合成数据。

ADA-SYN 过采样的工作方式如下:

  • 对于少数类别中的每个样本,随机选择其k个最近邻居。

  • 计算这些邻居的类别分布比例,以确定有多少属于多数类别。

  • 使用此比例计算每个少数类别样本的权重。具有更多多数类邻居的样本权重更高。

  • 对于每个少数类别样本,按其权重生成合成样本(使用 SMOTE 的步骤)。

4.Tomek Links 欠采样(Tomek Links Undersampling)

这是一种欠采样技术,选择多数类别和少数类别中彼此最近的样本。这些配对称为 Tomek Links。一旦找到 Tomek Link,就会删除该链接中多数类别的样本。

5.Edited Nearest Neighbors Rule 欠采样(Edited Nearest Neighbors Rule Undersampling)

对于数据集中的每个样本,识别其k个最近邻。如果样本来自多数类别,并且其大多数最近邻居属于少数类别,则删除该样本。

6.Neighbour Cleaning Rule 欠采样(Neighbour Cleaning Rule Undersampling)

这是一种欠采样技术,结合了 Edited Nearest Neighbors Rule 和 Tomek Links。上述过采样和欠采样方法可以以不同的方式组合,以解决适用于您用例的最佳方法。

算法层方法

1.成本敏感学习(Cost-sensitive Learning)

与所有类别使用相同成本不同,对不同类别分配不同的误分类成本。将少数类别(违约)误分类的成本高于误将多数类别(正常用户)样本误分类,这使得学习算法更加谨慎地对待误将少数类别误分类。

2.类平衡损失(Class Balanced Loss)

类平衡损失的思想是为不同的类别分配不同的权重,这个权重与该类别中的样本数量成反比。这意味着少数类别获得更高的权重,而多数类别获得更低的权重。在计算损失时,每个样本对损失的贡献都会按其类别权重进行缩放。这意味着误将少数类别样本误分类将导致比误将多数类别实例误分类更高的惩罚。

3.焦点损失(Focal Loss)

焦点损失的直觉是集中学习模型错误地预测的样本,而不是那些它可以自信地预测的样本。焦点损失在标准交叉熵准则中添加了因子 (1 − p) ** γ。这折扣了易学样本的损失贡献。

图片

4.集成技术(Ensembling Techniques)

这些技术背后的思想是多个模型的组合可以比任何单个模型更好地实现性能。在平衡随机森林中,每个决策树都在通过对多数类别进行欠采样创建的平衡数据子集上进行训练,最终预测是通过聚合所有树的预测得出的。在EasyEnsemble方法中,通过对原始数据集进行多次随机对多数类别进行欠采样,创建多个平衡子集。然后,在每个平衡子集上训练AdaBoost分类器,并通过聚合每个AdaBoost分类器的预测得出最终预测。其他流行的集成技术包括SMOTEBoost和RUSBoost。 

此外,在类别不平衡的实际数据中,模型可能偏向预测多数类别,导致高准确率却无效的情况。因此,精确度、召回率和F1分数成为更合适的评估指标。采用随机重采样、SMOTE过采样、ADA-SYN过采样等数据层方法,或成本敏感学习、类平衡损失、焦点损失等算法层方法,有助于处理类别不平衡。在选择性能指标时,精确度-召回率曲线比ROC曲线更适合,可提高对少数类别的敏感性。综合运用不同方法,可有效应对类别不平衡问题。

 

 

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

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

相关文章

速锐得深入解析吉利几何CAN总线数据通信网络的拓扑层级框架技术

在现代汽车工业中,车辆的电子控制单元(ECU)之间的通信至关重要。这种通信大多通过控制器局域网络(CAN)总线实现,它是德国BOSCH公司于20世纪80年代初开发的一种串行数据通信协议。随着技术的不断进步&#x…

读人工智能时代与人类未来笔记01_重塑人类社会秩序

1. AlphaZero 1.1. 2017年年底,由谷歌旗下DeepMind公司开发的人工智能程序AlphaZero击败了当时世界上最强大的国际象棋程序Stockfish 1.1.1. AlphaZero对Stockfish的百场战绩是28胜72平0负,可以说获得了压倒性的胜利 1.1.2. …

安卓手机数据恢复全攻略:从备份到专业软件一网打尽!

随着科技的飞速发展,我们的生活中越来越离不开手机。然而,在使用手机的过程中,我们可能会遇到数据丢失的问题。对于安卓手机用户来说,如何有效地恢复丢失的数据是一个值得探讨的问题。本文将为您介绍安卓手机数据恢复的全攻略&…

西部首个全域直播基地,打造西部直播基地领军形象

天府锋巢直播产业基地作为西部直播产业的领军者,以其前瞻性的战略布局和卓越的服务体系,正加速推动全域直播的快速发展,助力直播产业实现新升级。该基地作为成都规模最大的直播基地,以加快全域直播为核心目标,通过促进…

利用香港多IP服务器优化网站访问速度的关键策略?

利用香港多IP服务器优化网站访问速度的关键策略? 随着数字化时代的不断发展,网站的全球访问速度成为企业吸引用户、提升竞争力的重要因素。特别对于跨国企业而言,如何确保全球用户都能享受到稳定快速的访问体验显得尤为重要。在这一背景下,…

生成ssl证书并配置到nginx

生成ssl证书并配置到nginx 安装证书生成工具 apt-get update apt install software-properties-common add-apt-repository ppa:certbot/certbot apt-get update apt-get install certbot python3-certbot-nginx生成证书 首先在新网上创建一个A链接,域名与服务器做…

考研OSchap4文件管理chap5磁盘管理(部分)

目录 一、整体认知 1.文件的定义 250 2.文件的属性 251 3.文件内部应该如何被组织(逻辑结构) 256 4.文件之间应该如何被组织起来(目录结构) 252 5.OS应该向上提供哪些功能 253 6.文件应该如何存放在外存中(物理结构) 258 7.OS如何管理外存中的空闲块(存储空间的管理) 25…

牛客Java面试题【面试】

牛客Java面试题【面试】 前言推荐牛客Java面试题【面试】第2章 Java笔面试高频考点&解题技巧1. Java基础[2.1 一、java-基础-1](https://www.nowcoder.com/study/live/689/2/1)1.1 为什么Java代码可以实现一次编写、到处运行?1.2 一个Java文件里可以有多个类吗&…

有必要买超声波洗眼镜机吗?力荐四款实力超群超声波清洗机

在日常生活中,眼镜不仅仅是我们视野的延展,像太阳眼镜,也是有着独特的作用。但是,在每天的使用过程中,眼镜片表面难免会有灰尘,污迹,甚至油渍,这些都会对镜片的材质产生一定的损伤&a…

数据结构-树概念基础知识

根结点:非空树中无前驱节点的结点 结点度:结点拥有的子树数或子节点数或后继节点数 树的度:树内各结点的度的最大值 叶子:终端节点,度为0 祖先:从根到该节点所经分支上的所有结点 子孙:以某结点…

Springboot + xxlJob注意事项

1. 部署 就是这个地址: https://gitee.com/xuxueli0323/xxl-job 由于xxl-job的思想是 调度中心负责调度任务,然后有执行器负责接受调度的信息,然后根据调度,执行任务中的具体逻辑 将 xl-job-admin 启动起来,操作xl-job-admin这个文件夹下的配置文件即可: 创建数据库 执行sql…

外面收费888的CR视频批量剪辑软件短视频去重搬运过豆+去水印批量【剪辑脚本+详细教程】

软件功能: 去水印 加水印 裁剪 画中画 去头尾 加头尾 变速 文本 背景音 画面调整 分辨率 虚化 宫格分屏 旋转 帧率 抽帧 动态缩放 码率调整 合并 分割 专场 镜像重置 补针 定帧 音频抽取 视频抽取 字幕 生成gif 静音移除 画面拼接 图转视频等等 不限制次数&#x…

AICloud 分论坛 07-AI原生数据库与RAG【文档管理】

https://github.com/infiniflow/infinityhttps://infiniflow.org/视频观看:https://www.bilibili.com/video/BV16m411y7xW/?spm_id_from333.999.0.0&vd_sourceae7b192be069682aabc96350ba419fc5 简介 为LLM应用程序构建的AI原生数据库,提供令人难…

自查判断海外IP地址的质量,方式有这些!

为了保障海外代理IP的使用感受,在我们购买海外IP地址后,可以对其可靠性和安全性进行自查,避免潜在问题的发生,保障网络体验。 我们可以根据一下方法来进行自查判断: IP黑名单检查:使用IP黑名单检查工具&am…

【年报文本分析】第五辑:Python+Pytorch训练大语言模型,使用自训练模型完成文本分类任务——金星晔等(2024)《经济研究》大语言模型方法的复现

目录 0 背景介绍1 环境及依赖库2 使用示例数据集,跑通大语言模型代码2.1 源代码下载2.2 代码的运行步骤3 更换预训练模型,寻找最优模型4 确定词典,筛选年报5 开始人工标注工作6 批量文本预测 0 背景介绍 金星晔老师等在《经济研究》2024年第…

十一、Redis持久化-RDB、AOF

Redis提供了两种持久化数据的方式。一种是RDB快照,另一种是AOF日志。RDB快照是一次全量备份,AOF日志是连续的增量备份。RDB快照是以二进制的方式存放Redis中的数据,在存储上比较紧凑;AOF日志记录的是对内存数据修改的指令文本记录…

AMEYA360代理品牌 | 海康存储产品介绍

海康存储成立于2017年,依托海康威视在视音频、成像采集与数据管理领域长达20年的技术沉淀和积累,聚焦工业控制、数据中心、视频监控、终端消费等应用场景,为企业客户及终端用户提供值得信赖的存储产品和解决方案。 目前,海康存储已…

我看看谁还不会AI模特试装!AI绘画电商系列保姆级教程(文末有福利)

不得不说,AI绘画在电商行业展现出了巨大的商业价值,就连专注电商的AI绘画工具都层出不穷。茉莉也试了不少AI商拍工具,主打「0门槛」「一键式」操作,但效果和自定义灵活性,根本比不上MidjourneyStable DIffusion这一王炸…

Comau柯马机器人维修故障分类

在柯马机器人的使用过程中,常见的是Comau机械手减速器故障。那么,我们一起来探讨一下柯马机械臂维修减速机故障的问题。Comau工业机械手减速器故障分类 1. 异响 机器人在工作过程中发出异常声响,可能是柯马机械臂减速器内部磨损或零件松动引起…

二分图及图匹配(图论学习总结部分内容)

文章目录 前言四、二分图及图匹配二分图常见模型二分图例题 e g 1 : eg1: eg1: [ Z J O I 2009 ZJOI2009 ZJOI2009​\][假期的宿舍](https://ac.nowcoder.com/acm/contest/34649/B)(二分图最大匹配板题) e g 2 : eg2: eg2:​​ [C-Going Home](https://ac.nowcoder.com/acm/con…