样本不均衡/欠采样和过采样的影响

内容转自知乎问答:

https://www.zhihu.com/question/269698662/answer/352279936

精华摘录如下:

一、为什么类别不平衡会影响模型输出?

大部分模型的默认阈值为输出值的中位数。大部分模型的默认阈值为输出值的中位数。

二、选用怎样的评价标准?

ACC会有偏差,一般选用F1和ROC曲线下面积

三、不改变样本的情况下,解决方法有哪些?

集成学习+阈值调整

调整分类阈值,使得模型对较少的类别更加敏感。

实例:sklearn的决策树有一个参数是class_weight,用来调整分类阈值,公式如下:

n_samples / (n_classes * np.bincount(y))

# 权重与样本数种每个类别的count负相关,越少见的类别权重越大

四、采样法是另一种解决方式

采样法让人诟病的点在于:改变了原是数据的分布,从而带来偏差

采样法分为欠采样和过采样、SMOTE可以理解为soft 过采样

五、可视化分析对数据分布的影响

原始数据、欠采样、过采样、SMOTE。

说明:原始数据1831*21,其中正例176,负例1655

处理方式说明
不同采样方法在2维空间上的展示(使用T-SNE进行嵌入到2维空间后)


分析得知:

1、过采样单纯重复了正例(少例),可能放大噪声,风险是过拟合。

2、欠采样抛弃了大部分反例(多例),浪费数据,模型偏差较大。另一种做法是反复欠采样,把多例分成不重叠的N份,分别与少例组合,训练N个模型,然后组合。缺点是训练多个模型开销大,组合时可能有额外错误,少例被反复利用,风险是过拟合。

3、SMOTE相较于一般的过采样,降低了过拟合,是soft 过采样,抗噪能力强,缺点是运算开销大,可能会生成异常点。

六、实验对比,对比效果

实验对比


七、结论

1、采样优于阈值调整;

2、采样都有过拟合风险,要搭配正则化模型使用(L2正则的逻辑回归,随机森林,XGBoost);

3、过拟合效果稳定;

4、过拟合效果大多优于欠拟合;

5、经验:以过拟合(或SMOTE)+强正则模型(如XGBoost)作为baseline。

你可能感兴趣的:(样本不均衡/欠采样和过采样的影响)