你对抗机器学习数据集里的不均衡数据

收藏下地址:

英文原文:https://machinelearningmastery.com/tactics-to-combat-imbalanced-classes-in-your-machine-learning-dataset/

汉文翻译:https://blog.csdn.net/jiandanjinxin/article/details/50857205

其他文章:https://blog.csdn.net/tingfeng96/article/details/72854874

下面为从微信公众号摘抄的一篇文章,也可以看看

一、数据层面策略:采样技术
1、随机欠采样和随机过采样
欠采样:优点是在平衡数据的同时减小了数据量,加速训练,尤其是当样本集很大的时候。
        缺点是数据减少会影响模型的特征学习能力和泛化能力
        
过采样:优点是不会导致数据信息损失,一般效果也会好于欠采样。
        缺点是由于是对较少类别的复制,过采样增加了过拟合的可能性
        
2、基于聚类的过采样
    对不同的类别分别进行聚类,一般情况下设置样本较多的聚类中心数目较多,而样本较少的类聚类中心较少。
然后通过对每个cluster进行过采样和欠采样使原始类别中所有的cluster有相同的样本。
    这种方法通过聚类作为中介不但一定程度上缓解了类间的样本不均衡问题,还一定程度上缓解了类内的不平衡问题。
但这种方法和一般的过采样一样容易使模型对训练数据过拟合。

3、Informed Over Sampling(SMOTE):
a)简单的SMOTE
对于一个xi,先找到其近邻的k个样本,然后从这几个近邻样本中随机选取一个xi^hat,生成新的样本
优点:通过人造相似样本取代直接复制的方法减弱过拟合,也没有丢失有用的信息
缺点:但这种方法在进行人工合成样本时没有考虑近邻样本可能来自于不同类别,导致增大类别间的重叠。
另外,SMOTE在数据维度很高时效率很低。

b)Borderline-SMOTE
SMOTE没有考虑样本较少的那个类别自身潜在的分布,Borderline-SMOTE在此进行了优化

c)基于数据清洗的SMOTE
利用Tomek Links方法去掉一些重叠样本,清洗数据。

二、算法策略:集成算法
1、Bagging
优点:可以提高算法的稳定型和准确率,减弱算法的variance和过拟合,而且在噪声样本环境下,Bagging通常比
Boosting表现好
缺点:但Bagging的问题是只在基础分类器都能产生不错的结果时work,如果有的基础分类结果很差,可能会严重影响Bagging的效果

2、Boosting
优点:算法容易实现且有很好的泛化性
缺点:对于噪声和离群点比较敏感

猜你喜欢

转载自blog.csdn.net/Gin077/article/details/80620701