1.浅谈SMOTE之类不平衡过采样方法
浅谈SMOTE之类不平衡过采样方法
本文继前文MAHAKIL过采样方法后,探讨了当前广泛应用且效果良好的SMOTE过采样方法。本文主要介绍SMOTE-Regular和SMOTE-Borderline1两种变体(由于篇幅限制),并提供相关源代码。导航 博客 源码让我们直接进入正题。
首先,当遇到类别不平衡问题,如欺诈检测中欺诈案例较少,客户流失中流失客户占比低等,预测结果可能会偏向多数类别。简单处理方式如欠采样或过采样都存在弊端:欠采样可能导致信息丢失,scrollpic.js源码过采样则可能产生过拟合。为解决这个问题,Chawla在年提出了SMOTE,即合成少数过采样技术,通过KNN技术生成新样本,x站采集源码平衡类别分布。
SMOTE的核心步骤包括:首先,对每个少数类样本寻找K个近邻;接着,随机选取近邻中的部分样本,通过线性插值生成新的cminus词法分析源码样本;然后,将新样本与原数据结合,形成新的训练集。通过这种方法,SMOTE在少数类样本中通过KNN创造新样本,避免了随机复制的app前后端源码局限性,更具代表性。
接下来是SMOTE-Regular的源码,以及辅助类base_sampler.py。如果你对上述方法有所理解,那么SMOTE-Borderline1将更易理解,它是在SMOTE-Regular的基础上,选择少数样本更靠近类别边界的样本进行扩展,生成的新样本更具代表性。
以下是SMOTE-Borderline1的伪代码,虽然看起来复杂,但通过源码对照会更有帮助。辅助类代码与之前相同,这里不再赘述。最后,虽然部分内容借鉴了网络资源,但我知识有限,如有不当之处,欢迎读者指正。