类别不平衡问题

文章目录

  • 类别不平衡问题
    • 什么是类别不平衡
    • 加权处理
    • 过采样
      • 随机过采样
      • 基于聚类的过采样
      • SMOTE采样
    • 欠采样
      • 随机欠采样
      • 集成技术

类别不平衡问题

最近在竞赛中遇到了类别不平衡的相关问题,于是决定系统的学习一下,简单的记录一下,以下内容可能包含某些前辈的博客,如果侵权请联系删除。

什么是类别不平衡

类别不平衡也就是正负样本在数据集中的占比非常不均匀,人就是其中一类比另一类多得多。类别不平衡还有一个其他的名称:数据偏斜。这是在现实生活中不可避免的问题,比如我们如果要预测一种罕见病,既然是罕见病,那么患它的患者一定比较少,所以在这样的数据集中正样本占比就会比较少,这种情况下是不容易学到一个好的分类器的。查阅了相关资料,基本上就是三种方法:加权处理;过采样;降采样;

加权处理

也就是给不同的类设置不同的权重,加权的操作如下:

  • 根据类别信息给各个类别设置权重,
  • 遍历所有样本,为样本设置其类别所对应的权重
  • 将样本权重带入模型进行训练

一般损失函数默认每个样例具有相同的权重,加权处理通过对少数类赋予较大的权重,使得少数类能在损失函数中具有较强的重要性,减轻了多数类对损失函数结果影响过大的问题。

过采样

就是增加少数类,让各个类别的样例数目接近,然后学习,常见的有随机过采法和SMOTE采样还有基于聚类的过采样

随机过采样

通过增加少数类样本来提高少数类的分类性能 ,最简单的办法是随机复制少数类样本。

基于聚类的过采样

K-Means聚类算法独立地被用于少数和多数类实例,之后,每个聚类都过采样使得相同类的所有聚类有着同样的实例数量。

SMOTE采样

利用KNN技术,对于少数类样本a, 随机选择一个最近邻的样本b, 然后从a与b的连线上随机选取一个点c作为新的少数类样本。

欠采样

就是通过某种策略去除一些多数类,使得各个类别样例数量接近,然后进行学习。常见的有随机欠采样和集成技术

随机欠采样

通过随机地去掉一些多数类样本来减小多数类的规模。

集成技术

欠采样中的算法集成技术是利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息,一般适用于数据集足够大的情况。这里的集成技术可以分为基于Bagging的方法和基于Boosting的方法。

你可能感兴趣的:(数据挖掘学习,聚类,机器学习,算法)