样本不平衡问题,可以使用上采样和下采样。简单的做法是:上采样把少数样本进行复制,下采样将多数样本进行随机删除。
常用的上采样方法有ADASYN和SMOTE算法。
SMOTE(Synthetic Minority Oversampling Technique)算法,该算法的核心思想是每个少数样本使用欧氏距离计算出该样本在少数类中的K近邻,然后根据样本不平衡度确定采样倍率,根据采样倍率随机从k近邻中随机选取若干个样本,然后基于公式(1)构造样本。
(1)
SMOTE算法可以看成插值法,即在少数样本之间进行插值,但是这种算法可能会在多数类样本中间插值出一个少数样本导致类别重叠。
ADASYN:自适应综合过采样方法
- 计算不平衡度,假设为少数类样本,为多数类样本。
(2)
- 计算需要合成样本数
(3)
- 对于每个属于少数类的样本用欧式距离计算近邻,近邻中多数类的个数,则
- 对于(3)中每个少数类,计算
(4)
- 对于每个少数样本计算合成样本数目
(5)
- 每个待合成的少数类样本周围个邻居中选择1一个少数类样本,根据下式进行合成。
(6)
直到满足(5)中的个数。
ADASYN与SMOTE的主要区别是:ADASYN对采样的个数进行了优化。