机器学习中如何处理样本不均衡问题

问题所在:可以永远预测数据多的一方,准确率accuracy仍然会很高。

假定样本数目A类比B类多,且严重不平衡:

1. A类欠采样(Undersampling)

1)随机欠采样

2)A类分成若干子类,分别与B类进入ML模型

3)基于聚类的A类分割

2. B类过采样(Oversampling)

可以避免欠采样造成信息丢失,但是随机过采样采取简单复制样本的策略来增加少数类样本,这样容易产生模型过拟合的问题,即使得模型学习到的信息过于特别而不够泛化

3. B类数据合成

1)随机插值得到新样本

2)SMOTE算法

4. 代价敏感学习

降低A类权值,提高B类权值

其他方法:

1、想办法获取更多数据

2、换个评判方式(不再用准确率或误差来衡量,而是通过precision和recall计算出F1-score)

3、重组数据(重新组合不均衡数据使之均衡,最终使两者或多者的数据差不多,即最上面的方法)

4、使用其他机器学习方法(神经网络面对不均衡数据时束手无策,但决策树不会受到不均衡数据的影响)

5、修改算法

猜你喜欢

转载自blog.csdn.net/aa_JamesJones/article/details/82954217
今日推荐