zoukankan      html  css  js  c++  java
  • 机器学习中如何处理不平衡数据(imbalanced data)?

      推荐一篇英文的博客:

    8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset

      

      1.不平衡数据集带来的影响

      一个不平衡的两类数据集,使用准确率(accuracy)作为模型评价指标,最后得到的准确率很高,感觉结果很棒大功告成了,但再看看混淆矩阵(confusion matrix)或者少数类(样本数量少的这一类)的召回率(recall),你的心可能就拔凉拔凉的。你可能会发现少数类的样本几乎完全分错,即模型将样本基本预测为了多数类(样本数量多的一类)。

       

      2.不平衡数据集很普遍

      有些问题产生的数据生来就是不平衡的,比如癌症检测、金融诈骗。对于一个两类问题,比例为多少时,该数据集就不平衡了?英文博客中认为:如果存在类似4:1的类不平衡,则可能会导致问题。

      3.英文博客中介绍的8种处理不平衡数据的策略

    1) Collect more data

      最简单而实用的方法,当获得少数类样本比较容易时,可以考虑直接获得一个比较平衡的数据集。但如果代价比较大,还是考虑别的方法吧。

    2) Try Changing Your Performance Metric 修改模型评价指标

      处理不平衡数据集时,accuracy很可能不再适用,尤其当我们更加关注少数类样本。此时,可以使用confusion matrix、precision、recall、F1 score、ROC曲线的AUC值等来评价模型。

    3) Try Resampling Your Dataset

      过采样(oversampling)和欠采样(undersampling)

      在这里,更多的是介绍过采样中的重采样(re-sampling),也就是不生成新的数据。

    4) Try Generate Synthetic Samples

      SMOTE: Synthetic Minority Over-sampling Technique

      对少数类使用SMOTE算法“造”数据,可以想象一下对少数类进行k-means,在每个少数类样本与其k个近邻的连线上随机选择生成新的样本点,这就是SMOTE这一类算法大概的思想。SMOTE算法是过采样的一种方法,其生成了新的数据,而重采样不生成新的数据。

    5) Try Different Algorithms

      树模型处理不平衡数据集效果可能比较好,比如CART、C4.5、Random Forest。

    6) Try Penalized Models

      比如penalized-SVM 和penalized-LDA。

    7) Try a Different Perspective

      尝试使用无监督学习中的异常检测算法。

    8) Try Getting Creative

      嗯,当时我看到这里也是蒙蔽的,这是啥方法。嗯,自己根据问题创造方法吧,英文博客中也列举了一些Quora上比较好的想法。

       

      4.个人对不平衡数据集处理的总结

      对于不平衡数据集,我们一般从数据集模型两个层面去考虑怎么处理。上面列举的第1、3、4条方法都是在数据集上的操作,第2、5、6、7条方法都是在模型方面做的一些尝试。(第2条方法修改模型评价指标,姑且也认为是在模型方面做的工作好了。)

      数据集上的操作,收集更多少数类样本,对少数类过采样、重采样,对多数类欠采样,都是为了平衡样本比例。

  • 相关阅读:
    基于IDEA+Maven+SpringMVC的入门web程序分析(一)
    Spring之路----chapter03 高级装配
    Spring之路---chapter02装配Bean
    Spring之路----Chapter01 Spring之旅
    实用网址-项目的创建、Idea打开Maven项目、Idea打开Eclipse项目
    Git之路-2017年9月8日14:37:01
    Redis入门指南-笔记-进阶
    DenyHosts 阻止SSH暴力攻击
    某cms最新版前台RCE漏洞(无需任何权限)2020-03-15
    通过Joomla的两次RCE漏洞看session反序列化
  • 原文地址:https://www.cnblogs.com/wuliytTaotao/p/9308944.html
Copyright © 2011-2022 走看看