文章目录
采样方法
数据集N有 a+b条数据,A类 有a个数据,B类 有b个数据,且 b > a.
欠采样(Undersampling)
将大的数据集变小。
从B中随机选取a个数据。
最终组成数据集 N’ = A.a + B.a
过采样(Oversampling)
将小的数据集扩充。
从A中生成b个数据(也就是A不断复制)。
数据集 N‘ = A.b + B.b
弊端:容易过拟合。
SMOTE(Synthetic Minority Oversampling Technique)
合成 b-a 个新样本,记为 a‘
数据集 N‘ = A.a + A.a’ + B.b
合成的方法为根据欧式距离找到A中每一个样本的k个近邻点, 选择其中一个, 在两点的连线上任选一个点作为新增的合成数据。
弊端:容易导致类型重叠。
SMOTE算法的改进: Borderline SMOTE
将A划分为Safe,Danger,Noise。
- Safe:近邻的样本超过一半为A。
- Danger : 近邻的样本超过一半为B。
- Noise: 近邻样本全部为B。
只在Safe上使用SMOTE。
ADASYN
类似 Borderline SMOTE,通过权重,判断身边B的数量,然后再用SMOTE。
除了采样,还有什么方法?
- 调整阈值,少数类的权重更高。
- 改用其他评估标准。