机器学习中数据不均衡问题(分类类别数据不均匀)

2023-05-16

在机器学习中,我们经常会遇到类别数据分布不均衡问题,即某类中含有很多数据,而其他类别中的数据量很少。在这种情况下, 使用传统机器学习算法开发的预测模型可能存在偏差和不准确,造成上述的原因是,传统算法模型通过减少loss来提高准确性,他们并没有考虑到类别的分类不均问题。因此机器学习算法在面对不平衡的数据集时, 往往会产生不理想的分类器。


标准分类器算法 (如决策树和逻辑回归) 倾向于只预测多数类数据。少数群体的特征被视为噪音, 往往被忽略。因此, 与多数类相比, 少数类被错误分类的可能性很大。

常使用混淆矩阵来衡量分类算法性能的评价。
在这里插入图片描述举个例子,不平衡分类数据下模型的危害。
假如我们要过滤1000封邮件,里面有用990封,有10封是广告邮件,这是需要进行过滤的。
这是我们训练得到一个分类器,其精度为99.0,看上去精度很高,但没用,这个分类器可能把所有1000封都认为是有用的,这样情况下并没起到过滤作用。

所以当存在分类数据不均衡时,我们必须要进行处理。


处理不平衡数据集的方法

2.1数据级方法:重采样技术(Data Level approach: Resampling Techniques)

  1. 随机下采样(Random Under-Sampling):从数据量大的类别中按一定比例抽取样本,与少量数据类别重新构建出一个训练集。

    优点:在训练数据集巨大的情况下, 它可以通过减少训练数据样本的数量来帮助改善运行时间和存储问题。

    缺点:它可以丢弃可能有用的信息, 这些信息对于构建规则分类器非常重要。同时,在抽样下随机选择的样本可能是有偏置的样本。而这也不是人口的准确代表。从而导致实际测试数据集的结果不准确。

  2. 随机过采样(Random Over-Sampling):通过随机复制少量数据类别中的样本,以增加少量类别样本数。

    优点:与随机下采样不同的是, 这种方法不会导致信息丢失

    缺点:它复制了少数族裔类事件, 从而增加了过度拟合的可能性。

  3. 基于聚类的过度抽样(Cluster-Based Over Sampling)
    在这种情况下, k 均值聚类算法独立地应用于少数和多数类实例。这是为了标识数据集中的群集。随后, 对每个群集进行过采样, 以便同一个类的所有群集具有相同数量的实例, 并且所有类具有相同的大小。

在这里插入图片描述
在这里插入图片描述
优点:这种聚类技术有助于克服类不平衡之间的挑战。其中类由不同的子集群组成。

缺点:与大多数过度采样技术一样, 这种算法的主要缺点是训练数据过度拟合的可能性。

  1. Informed Over Sampling: Synthetic Minority Over-sampling Technique(smote)
    采用此技术是为了避免在将少数实例的精确副本添加到主数据集时发生过度拟合。以少数族裔类的数据子集为例, 然后创建新的合成类似实例。然后将这些合成实例添加到原始数据集。新数据集用作定型分类模型的示例。
    在这里插入图片描述
    优点:减少随机过采样引起的过度拟合问题, 因为生成的是合成示例, 而不是实例的复制,同时不会丢失有用的信息

缺点:在生成合成示例时, smote 没有考虑其他类的相邻示例。这可能会导致类重叠的增加, 并可能带来额外的噪声,smote 对于高维数据不是很有效

  1. Modified synthetic minority oversampling technique (MSMOTE)
    这是SMOTE的修改版本。 SMOTE没有考虑数据集中少数类的潜在分布和潜在噪声。 为了改善SMOTE的性能,使用了改进的方法MSMOTE。

该算法将少数类的样本分为3个不同的组 - 安全/安全样本,边界样本和潜在噪声样本。 这是通过计算少数类样本和训练数据样本之间的距离来完成的。

安全样本是那些可以改善分类器性能的数据点。 另一方面,噪声是可以降低分类器性能的数据点。 难以归类为两者中任何一个的那些被归类为边界样本。

虽然MSOMTE的基本流程与SMOTE的基本流程相同(在上一节中讨论过)。 在MSMOTE中,选择最近邻居的策略与SMOTE不同。 该算法从安全样本的k个最近邻居中随机选择一个数据点,从边界样本中选择最近邻居,对潜在噪声不做任何处理。

上面的5种方法都是属于重采样技术。其他的方法还有集成方法。
2.2 集成算法技术
上面的部分涉及通过重新采样原始数据来处理不平衡数据以提供平衡类。 在本节中,我们将讨论另一种方法,即修改现有的分类算法,使其适用于不平衡的数据集。

集合方法的主要目标是提高单个分类器的性能。 该方法涉及从原始数据构建几个两阶段分类器,然后汇总它们的预测。
在这里插入图片描述

  1. Bagging Based
    Bagging是Bootstrap Aggregating的缩写。 传统的装袋算法涉及用替换产生’n’个不同的自举训练样本。 并分别在每个引导算法上训练算法,然后在最后聚合预测。

Bagging用于减少过度拟合,以便创建强大的学习者来生成准确的预测。 与增强不同,套袋允许在自举样品中进行更换。

  1. Boosting-Based
    Boosting是一种集成弱学习者的集合技术,可以创建一个可以做出准确预测的强大学习者。 Boosting从基础分类器/弱分类器开始,该分类器是根据训练数据准备的。
    比较有代表性:AdaBoost, Gradient Tree Boosting,XG Boost
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习中数据不均衡问题(分类类别数据不均匀) 的相关文章

  • Oracle 索引详解(index)

    文章目录 1 概述2 索引管理2 1 创建索引2 2 删除索引2 3 修改索引2 4 查询索引 3 索引类型3 1 B Tree 平衡树索引3 2 bitmap 位图索引3 3 反向键索引3 4 基于函数索引 4 扩展4 1 走不走索引的情
  • Windbg调试(使用方法)

    一 Windbg版本信息 Windbg分32位和64位版本 xff0c 32位程序应使用32位Windbg调试 xff0c 64位程序应64位Windbg调试 若想使用64位的Windbg分析32位的程序 使用如下命令进行CPU模式的切换
  • Hi3861开发环境搭建 ||避坑指南|| [适用于几乎所有以Hi3861为主控的开发板]

    Hi3861开发环境搭建 避坑指南 适用于几乎所有以Hi3861为主控的开发板 前言 xff1a 这几天为了搭建Hi3861的开发环境 xff0c 看了不少官方文档和视频 xff0c 但是依然折腾了很久才配置好编译 上传都能正常的环境 xf
  • 论文分享——Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

    文章目录 文章简介1 背景介绍研究背景概念介绍问题描述IC与VQA领域的主要挑战 2 相关研究CNN 43 RNN体系架构Attention mechanismBottom Up and Top Down AttentionBottom U
  • spring mvc 源码分析之父子容器问题

    spring mvc 源码分析 spring mvc 源码分析之父子容器问题 spring mvc 源码分析前言为什么要弄两个ioc容器 xff1f 一个不可以吗存在两个容器 父容器是spring ioc容器自容器是springmvc io
  • C++11特性

    C 43 43 11已经出来很久了 xff0c 网上也早有很多优秀的C 43 43 11新特性的总结文章 xff0c 在编写本博客之前 xff0c 博主在工作和学习中学到的关于C 43 43 11方面的知识 xff0c 也得益于很多其他网友
  • CentOS 7 Squid缓存代理服务器搭建——筑梦之路

    简介 xff1a Squid 是 Linux Unix 平台下最为流行的高性能免费应用层代理服务器 xff0c 它具有权限管理灵活 性能高和效率快的特点 代理服务器可以提供文件缓存 复制和地址过滤等服务 xff0c 充分利用有限的出口带宽
  • python列表的基础操作

    python列表的操作 列表是python最为基础的数据结构 xff0c 极为重要 这话怎么理解呢 xff1f 是最常用的 xff0c 想不到其他的 xff0c 就用列表是其他数据结构的基础 xff0c 可以继承列表然后定义属于自己的数据类
  • C++正则表达式(regex_match、regex_search与regex_replace)

    前言 正则表达式是在字符串处理中常用和重要的工具 xff0c 主要用于字符串的匹配 在C 中正则表达式的使用非常方便 xff0c 但到了C 43 43 中让我有点懵逼了 xff0c 花了些时间查阅了很多资料 xff0c 下面主要会写到C 4
  • Java爬虫详解

    这是 Java 爬虫系列文章的第一篇 第一篇是关于 Java 爬虫入门内容 在该篇中我们以采集开源情报网站中的ip数据为例 需要提取的内容如下图所示 Statistics AbuseIPDB nbsp nbsp nbsp 我们需要提取图中圈
  • ubuntu安装过程

    feat 新增功能 fix 修复 bug docs 文档相关的改动 style 对代码的格式化改动 xff0c 代码逻辑并未产生任何变化 test 新增或修改测试用例 refactor 重构代码或其他优化举措 chore 项目工程方面的改动
  • SpringSecurityOAuth和Jwt

    一 SpringSecurityOAuth简介 grant type为授权模式password为密码模式 64 EnableAuthorizationServer表示定义认证服务器 64 EnableResourceServer表示定义资源
  • 无法使用ssh的可能

    1 SSH服务未启动 xff1a 请确保SSH服务在远程计算机上已经启动 在Ubuntu上 xff0c 可以通过运行以下命令来启动SSH服务 xff1a sudo service ssh start 2 防火墙阻止了SSH连接 xff1a
  • CentOS7.0 关闭防火墙

    systemctl stop firewalld service 停止firewall systemctl disable firewalld service 禁止firewall开机启动
  • 如何查看张量tensor,并将其转换为numpy数据

    在tensorflow 中一般数据都是用tensor来表示 xff0c 而在python 中一般是用numpy包 xff0c 然而有时候需要打印变量的数据 xff0c 可用以下方法来打印 xff1a 一 import tensorflow
  • 浅谈联邦学习Federated Learning

    最近人工智能 大数据领域的公众号疯狂给我推送 联邦学习 相关的文章 xff0c 使得本来并不好奇的我 xff0c 有了一丝丝揭开它神秘面纱的冲动 公众号的每篇推文写得都很好 xff0c 但同时也十分学术 xff0c 作为刚上路的我 xff0
  • 云计算中的容器技术及其实践案例

    第一章 xff1a 什么是容器技术 随着云计算和DevOps的普及 xff0c 容器技术在IT行业中越来越受到关注 容器是一种轻量级 可移植 可扩展的应用程序封装技术 xff0c 可以将应用程序及其所有依赖项打包到一个独立的可执行文件中 相
  • 小坑整理

    for range坑 问题描述 range循环的时候 xff0c 取赋值的地址 xff0c 然后保存到map中 xff0c 结果是什么样子 xff1f 这里先回想下变量是什么时候才申请内存 xff1f 只有赋值给新的变量时 xff0c 内存
  • go操作es

    TOC 前言 xff1a elasticsearch 是一个基于Lucene构建的开源的 分布式 restful接口的全文搜索引擎 es还是一个分布式的文档数据库 xff0c 其中每个字段均可被索引 xff0c 而且每个字段的数据均可被搜索
  • 9-gin使用websocket

    toc gin使用websocket Gin 框架默认不支持 websocket xff0c 可以使用 github com gorilla websocket 实现 Talk is cheap Show me the code xff0c

随机推荐

  • 1. 准备环境

    硬件资源 mac 12 2 1 golang 1 15 3 minikube v1 25 1 prometheus operator 0 35 1 下载地址 xff1a https github com prometheus operato
  • pprof查docker内存占用

    https zhuanlan zhihu com p 363584053 https blog csdn net u010278923 article details 78774914
  • oklog run包使用

    oklog run 包介绍 oklog run 包非常简单 xff0c 只有一个类型 xff0c 两个方法 xff0c 共 60 行代码 其中 Group 是一组 actor xff0c 通过调用 Add 方法将 actor 添加到 Gro
  • windows上IIS实现https,配置ssl证书

    windows2003 系统IIS6安装ssl证书 http bbs qcloud com thread 4793 1 1 html windows2012实现IIS7的https 1 申请证书 xff0c 这里申请腾讯云的证书 1 xff
  • Ubuntu 14.04升级到Ubuntu 16.04(桌面版和字符版)

    下面记录了从Ubuntu 14 04 15 10升级到Ubuntu 16 04的步骤 桌面版 在升级系统之前 xff0c 我们先更新一下系统 打开终端执行如下命令 xff1a sudo apt span class hljs attribu
  • 编写使用systemctl启动服务脚本

    CentOS 7的服务systemctl脚本存放在 xff1a usr lib systemd xff0c 有系统 xff08 system xff09 和用户 xff08 user xff09 之分 xff0c 像需要开机不登陆就能运行的
  • python中print打印显示颜色

    显示颜色的格式 xff1a 033 显示方式 字体色 背景色m 033 0m 显示颜色的参数 xff1a 显示方式效果字体色背景色颜色描述0终端默认设置3040黑色1高亮显示3141红色4使用下划线3242绿色5闪烁3343黄色7反白显示3
  • ds1302时钟芯片工作原理引脚电路图及功能

    资源获取码 xff1a aaaa DS1302时钟实用仿真图 上面仿真图功能描述 xff1a 1 能读取DS1302数据 xff0c 并显示在数码管上面 2 带按键设置功能 xff0c 可以设置DS1302时分秒数据 3 带倒计时功能 xf
  • 吴恩达 DeepLearning 第一课第二周编程题目及作业(可免费下载资源)

    提示 作业里面会有需要用到的 Python 模块以及数据集 所以我下面再附上所需要的文件下载链接 xff0c 不把所有文件连同作业放一起打包好的目的是让第一次接触 Python 的人更多的了解 Python xff0c 万事开头难 xff0
  • linux centos7.6 关闭防火墙

    停止firewall root 64 lch software systemctl stop firewalld service 禁止firewall开机启动 root 64 lch software systemctl disable f
  • STM32之SHT30温湿度传感器驱动代码(程序稳定,清晰明了)

    第一部分 xff1a SHT30温湿度模块代码头文件 xff08 SHT30 h xff09 ifndef SHT30 H define SHT30 H include 34 delay h 34 include 34 sys h 34 i
  • 数据集(3):从0了解INRIA数据集

    该数据集分为两种格式 xff1a xff08 a xff09 具有对应注释文件的原始图像 xff08 b xff09 原始的负样本图像和标准化64 128像素的正样本图像 xff08 用于CVPR论文中的 xff09 根目录下虽然有六个文件
  • Ubuntu 登录界面,字体变大,输入密码出现循环登录问题

    出现这个问题 xff0c 很大可能就是显卡驱动掉了 xff0c 只需重新安装就好 参考 xff1a https blog csdn net qq 36427732 article details 80914653 一 下载显卡驱动 用一台电
  • virtualenv的使用

    安装 pip install virtualenv 使用 1 创建一个文件夹 xff0c 用来存放环境 xff0c 之后pip install 之类的东西都在里面 2 在该文件夹中建立该环境 virtualenv p usr bin pyt
  • LIF神经元介绍

    Integrate And Fire Models 基础知识 轴突 xff1a 动作电位 xff08 电位差形成电流 xff09 61 神经递质发放 61 脉冲产生 树突或细胞体 xff1a 神经递质的接受 61 产生内外膜电位差 xff0
  • 神经网络中Batch Size的理解

    直观的理解 xff1a Batch Size定义 xff1a 一次训练所选取的样本数 Batch Size的大小影响模型的优化程度和速度 同时其直接影响到GPU内存的使用情况 xff0c 假如你GPU内存不大 xff0c 该数值最好设置小一
  • Hessian矩阵

    转 xff1a 黑塞矩阵 xff08 Hessian Matrix xff09 转 xff1a Hessian矩阵以及在图像中的应用 黑塞矩阵 xff08 Hessian Matrix xff09 xff0c 是一个多元函数的二阶偏导数构成
  • 残差结构详解

    背景知识 xff1a 为什么要构建深层网络 xff1f 答 xff1a 认为神经网络的每一层分别对应于提取不同层次的特征信息 xff0c 有低层 xff0c 中层和高层 xff0c 而网络越深的时候 xff0c 提取到的不同层次的信息会越多
  • 第二章 Internet 地址结构

    第二章 Internet 地址结构 本文为 TCP IP 详解 学习笔记 文章目录 第二章 Internet 地址结构2 1 引言2 2 表示 IP 地址IPv4 地址IPv6 地址 2 3 基本的 IP 地址结构2 3 1 分类寻址2 3
  • 机器学习中数据不均衡问题(分类类别数据不均匀)

    在机器学习中 xff0c 我们经常会遇到类别数据分布不均衡问题 xff0c 即某类中含有很多数据 xff0c 而其他类别中的数据量很少 在这种情况下 使用传统机器学习算法开发的预测模型可能存在偏差和不准确 xff0c 造成上述的原因是 xf