SMOTE算法

SMOTE算法,即Synthetic Minority Oversampling Technique合成少数类过采样技术,这是一种过采样的方法。

它是对随机采样方法的一种改进,在随机过采样中,虽然可以使样本集变得均衡,但会带来一些问题,比如,过采样对少数类样本进行了多次复制,扩大了数据规模,增加了模型训练的复杂度,同时也很容易造成过拟合。

通常在过采样时并不是简单地复制样本,而是采用一些方法生成新的样本。例如,SMOTE算法对少数类样本每个样本x,从它的K近邻中随机选一个样本y,然后在x,y连线上随机选取一点作为新合成的样本。这种合成新样本的过采样方法可以降低过拟合的风险。


SMOTE比随机采样要好,但是仍然会存在一些问题,为每个少数类样本合成相同数量的新样本,这可能会增大类间重叠度,并且会生成一些不能提供有益信息的样本。因此出现了Borderline-SMOTE、ADASYN等改进算法。

Borderline SMOTE算法仅使用边界上的少数类样本来合成新样本,从而改善样本的类别分布。如下所示,仅对danger的样本进行过采样。


ADASYN则对不同的少数类样本赋予不同的权重,合成不同个数的新样本:


以上算法均可在imblearn中实现。

参考:

  1. https://blog.csdn.net/u010654299/article/details/103980964
  2. 《百面机器学习》
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容