机器学习类别不平衡解决方法
2019-06-11 本文已影响49人
田浩thao
1、前言
对于分类任务,经常会遇到类别不平衡问题(不通类别训练样本数目差距较大),本文将对该问题给出常见的解决方法。
2、常用解决方法
2.1 欠采样(下采样)
欠采样就是将样本多的类别中的数据进行采样,最终使得各个类别的数据达到平衡。
注意:如果只是简单的对样本多的类别中的数据进行采样,则可能丢失重要的信息,所以更好的做法是利用多个模型,每个模型对样本较多类别的数据进行欠采样,与其他类别数据共同组成一个训练集,训练模型,然后将所有模型进行集成,最终结果就是这些模型的集成结果(例如EasyEnsemble算法)。
2.2 过采样(上采样)
过采样就是对样本少的类别增加训练样本,最终使得各个类别的数据达到平衡。
注意:如果只是简单的对样本少的类别中的数据进行复制,则可能导致模型过拟合。SMOTE算法是通过对样本少的类别中的数据进行插值,生成新的数据。
2.3 阈值移动
阈值移动是指,模型训练时对不平衡的训练集不做任何处理,待预测时,将阈值进行改变,具体改变方法可以参考下式:
注:阈值移动与代价敏感错误率有一定的关系,感兴趣读者可以自行分析。
以上内容如有理解不当,请指出,谢谢!另,文章中有些内容来源于一些书籍或其他博客,这里就不一一列举,如有侵权,请与我联系删除。