参考文献

基于集成学习的不平衡数据集分类问题研究 - 中国知网https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CMFD&dbname=CMFD202201&filename=1021697818.nh&uniplatform=NZKPT&v=K9J_5NETTyZXPhDr5D6KwISCv2zm0skRm7rEZ0KmYS0Yv_zs562Re8oiwR5h_ylK

文章总体思路

问题

当应用于不平衡数据集时,这两种算法都存在对样本量较少的正类样本不能正确分类以至于分类精度不高、泛化误差较大的问题

目的

本文将集成学习算法与不平衡数据集数据层面的优化算法组合构造分类性能更好的模型

算法结合构造的新模型

机器学习算法

随机森林与 XGBoost

数据处理算法

SMOTE 过采样、随机欠采样以及 SMOTEtomek 混合采样

结合结果

RUS-RF、SMOTE-RF、SMOTEtomek-RF、

RUS-XGBoost、SMOTE-XGBoost 和 SMOTEtomek-XGBoost 模型

数据集:

本文选用了 UCI 中的 Adult 数据集,同时利用与 Adult 数据集不平衡比例不同的 BankMarketing 数据集与 Credit Card 数据集进行结果对比

实验发现:

(1)从总体来看,以 XGBoost 为基础算法的模型的分类效果要优于以随机森林为基础算法的模型;

(2)从模型选择的角度来看,当样本量充足时,RUS-XGBoost 模型的 AUC 与 G-mean 取值最高,比起其他模型更适合作为不平衡数据集的有效分类模型;

(3)从数据重采样方法的角度来看,采用随机欠采样的模型比采用SMOTE 过采样或者 SMOTEtomek 混合采样的模型分类效果更好。

为什么要对此进行研究

        机器学习致力于利用机器从已知数据中挖掘数据规律并生成学习模型进而对未知数据做出反馈。

传统的机器学习方法如决策树、K 最近邻、支持向量机以及人工神经网络等算法都是根据平衡数据设计的,以提高总体分类精度为目标,这就使得在不平衡数据中进行学习时,极易造成分类器倾向于负样本,导致误分成本上升。

针对分类任务,多数学习算法都有一个共同的基本假设——不同类别的训练样本数目相当。如果不同类别的样本数稍有差别,通常对算法的泛化性能影响不大,但是若不同类别样本数差别很大即存在类别不平衡问题,则会对学习过程造成困扰。

采样方法研究现状

欠采样

        欠采样:通过选择部分具有典型意义的负样本,构造正样本与负样本数目相当的平衡数据集。随机欠采样是最简单有效的欠采样方法,它随机抽取出与正样本一致规模的负样本,然后将抽取到的负样本放入正样本空间中组成新的平衡数据集。

随机欠采样(Random Under-Sampling,RUS)

是最简单的欠采样方法,该算法通过从负类样本中随机抽取与正类样本规模一致的数据来达到数据平衡,然而抽取样本同样会造成关键信息的流失;

Easy Ensemble 算法与Balance Cascade 算法

这两种算法都采用了集成的思想,对负类样本进行多次采样构建不同的分类器,从而弥补随机欠采样存在的弊端

基于聚类的欠采样

CBUS算法和 Fast-CBUS算法

遗传算法的欠采样:

GAUS算法以及类似于噪声检测的 ENN算法和 Tomek算法

过采样

过采样:通过生成足量的正样本实现正样本与负样本的平衡。其优点是提高了正样本的学习量;缺点是生成的正样本并不是通过抽样得到的真实正样本,从而容易带来样本噪声,降低算法模型少数类样本的分类正确率

随机过采样

基本步骤

                是反复随机地抽取正样本,并将抽取到的样本放入原始样本空间,形成新的样本空间

优点

                抽样方法速度很快

缺点

会在正类样本中产生大量相似数据,因此在分类器的训练中容易使模型过拟合。同样,          如果正类样本中存在噪声数据,那么在多次抽取正类样本后,噪声数据对模型的影响也会增            大

SMOTE 算法

改进方面

采用数据合成的方式取代数据替换来进行过采样

步骤

Borderline-SMOTE 算法与 ADASYN 算法

针对 SMOTE 算法没有考虑近邻样本的分布特点带来的样本重叠度高的问题

混合采样

结合了欠采样和过采样,

目前常用的算法有:

将随机欠采样和 SMOTE 组合的 RU-SMOTE算法

将 SMOTE 和Tomek 结合的 SMOTEtomek 算法

将 SMOTE 和 ENN 结合的 SMOTEENN 算法

不平衡数据集算法层面的优化方法

价敏 感(Cost-Sensitive) 学习、集成学习、单类学习

基于集成学习的不平衡数据集分类问题研究--文献阅读相关推荐

  1. 基于集成学习的小麦赤霉病高光谱图像识别方法研究

    基于集成学习的小麦赤霉病高光谱图像识别方法研究 1.研究思路 [1]深度学习方法,通过构建深度神经网络模型对小麦赤霉病进行识别.构建四个不同结构的深度神经网络模型,并对这四个模型进行结构分析. [2] ...

  2. 【论文笔记】《基于深度学习的中文命名实体识别研究》阅读笔记

    作者及其单位:北京邮电大学,张俊遥,2019年6月,硕士论文 摘要 实验数据:来源于网络公开的新闻文本数据:用随机欠采样和过采样的方法解决分类不均衡问题:使用BIO格式的标签识别5类命名实体,标注11 ...

  3. ECG分析:基于深度学习的ECG心律失常分类入门(4)

    ECG分析:基于深度学习的ECG心律失常分类入门(4) 在搭建模型之前,讲一下本次任务需要区分的类别,MITAB根据心拍类型划分了14个小类: 也可以用wfdb查看: wfdb.show_ann_la ...

  4. ECG分析:基于深度学习的ECG心律失常分类入门(5)

    ECG分析:基于深度学习的ECG心律失常分类入门(5) 数据和模型完成了之后,就是训练和测试了,这里顺带提一下,MITAB的数据是48条记录的,而我们在做ECG分析的时候,都是去掉了四条记录(102, ...

  5. Data Augmentation for Deep Learning-based Radio ModulationClassification解读(基于深度学习的无线电调制分类数据扩充)

    摘要:深度学习最近被应用于自动分类接收无线电信号的调制类别,而无需人工经验.然而,训练深度学习模型需要大量的数据.训练数据不足会导致严重的过度拟合问题,降低分类精度.为了处理小数据集,数据增强被广泛应 ...

  6. ECG分析:基于深度学习的ECG心律失常分类入门(3)

    ECG分析:基于深度学习的ECG心律失常分类入门(3) 数据库的Python读取 本次读取数据,用的是一款专门读取MITAB数据的工具--WFDB-python,WFDB包下载 ,全称是 Python ...

  7. ECG分析:基于深度学习的ECG心律失常分类入门(1)

    ECG分析:基于深度学习的ECG心律失常分类入门(1) 写作动机 由于受突发疫情的影响,开学时间推迟了(在此特向奋斗在前线的各行各业的工作者们致以崇高的敬意!).前天晚上刚好看到一篇新出的论文,跟自己 ...

  8. ECG分析:基于深度学习的ECG心律失常分类入门(2)

    ECG分析:基于深度学习的ECG心律失常分类入门(2) 数据来源:MIT-BIH Arrhythmia Database 数据库介绍和获取 前面已经对ECG信号有了简单的认识,那么现在来简单看看我们的 ...

  9. 基于迁移学习的农作物病虫害检测方法研究与应用

    基于迁移学习的农作物病虫害检测方法研究与应用 1.研究思路 迁移学习方式并结合深度学习提出了一种基于残差网络(ResNet 50)的 CDCNNv2 算法.通过对 10类作物 3 万多幅病虫害图像进行 ...

最新文章

  1. 半导体二极管的直流电阻和动态电阻如何区别?
  2. 用北斗和阿里云毫米级监控山体滑坡 他还只是铁路工人
  3. FAQ宝典之常见问题排查与修复方法
  4. Python学习日记(六) 浅深copy
  5. DCMTK:转换dicom文件编码
  6. 让您的Eclipse具有千变万化的外观 1
  7. 使用html() undefined_SweetAlert2使用教程
  8. to_date , to_char
  9. MySQL运维实战系列:MySQL5.7 Group By 问题
  10. linux那些事之pin memory相关API
  11. 粒子滤波算法理解及实现
  12. android 开发客户端开发,【Android应用】Android网站客户端的开发介绍(1)
  13. Linux选择填空练习题
  14. ns手柄pc驱动_颜值、功能、手感同步在线 北通宙斯机械游戏手柄体验
  15. python DataFrame isin() 与 ~isin()
  16. swift 中构建3DTouch 及 widget
  17. 福昕 取消高亮 等注释
  18. C++ Reference: Standard C++ Library reference: C Library: cstdio
  19. 直男 or Gay?看看你的DNA标记!
  20. linux命令之查看ip地址

热门文章

  1. Java调用金蝶接口
  2. 一文带你了解所有小程序平台
  3. 金融数学全套课程 转
  4. android treble 三星,升级安卓8.0后 三星旗舰不在支持Treble特性
  5. arduino 嗡鸣器 音乐_Arduino教程——蜂鸣器发声
  6. Adobe Illustrator导出SVG的设置方法
  7. 【翻译】压缩Windows XP中的ServicePackFiles/i386文件夹
  8. wxwidget编译安装_win7下wxwidgets开发环境配置
  9. Freemarker生成HTML静态页面
  10. PHP SAPI(FCGI)个人整理