本发明涉及不均衡数据二分类技术领域,尤其涉及一种基于EasyEnsemble算法和SMOTE算法的不均衡数据二分类方法。
背景技术:
数据不均衡指的是在一个样本数据集中,某一类的样本数远少于其他类的样本数。在实际情况中,这样的数据集经常出现,比如:诈骗检测,故障诊断,罕见疾病医学诊断,流失预测等。目前多数算法模型是在数据均衡的前提条件下提出的,所以在应用于不均衡数据处理时,算法模型的性能就会大大降低。而在数据极度不均衡时,甚至出现失效的情况,即正确率几乎为零。
技术实现要素:
技术创新的分析:
EasyEnsemble算法是一种有效的不均衡数据分类方法。它将多数类样本随机分成多个子集,每个子集分别与少数类合并,得到多个新的训练子集,并利用每个训练子集训练一个AdaBoost基分类器,最后集成所有基分类器,得到最终的分类器。EasyEnsemble算法有效解决了数据不均衡问题,且减少欠采样造成的多数类样本信息损失。但是,EasyEnsemble算法未考虑少数类样本极度欠缺的情况,由于少数类样本数远小于正确训练分类器所需的样本数,导致基学习器的分类性能差,进而最终的分类器性能也很差。另外,噪声是另一个影响分类器性能的关键因素,在EasyEnsemble算法中并未考虑。
SMOTE算法是一种过采样方法。相较于简单复制样本,该算法通过样本点的最近邻构造新样本点,增加样本类信息,有效防止过拟合问题。但是算法本身的局限性,可能扩大噪声的影响范围,并加剧分类边界模糊化。
本发明在EasyEnsemble算法的基础上,通过SMOTE算法构造少数类样本,解决少数类样本极度欠缺问题,并考虑噪声和新样本点有效性问题,对数据进行降噪处理,从而提高数据的可靠性。
为了实现上述目的,本发明采取了如下技术方案:
本发明提供的基于EasyEnsemble算法和SMOTE算法的不均衡数据的分类方法,包括如下步骤:
S1:采用SMOTE算法将少数类数据构造出多个少数类子集;
S2:对多数类数据进行随机欠采样,得到多个多数类子集,合并各多数类子集和各少数类子集,得到多个训练子集;
S3:将各训练子集进行降噪处理,训练生成多个AdaBoost分类器;
S4:集成所有AdaBoost分类器,得到所述不均衡数据的最终分类器。
进一步地,所述S1还步骤:
S101:根据公式(1)对不均衡数据进行标准化;
其中,x′i,j表示样本Xi标准化后第j个属性的值,xi,j表示样本Xi标准化前第j个属性的值,min(xj)表示所有样本点中第j个属性的最小值,max(xj)表示所有样本点中第j个属性的最大值;
S102:将标准化后的数据分为多数类和少数类,将所述多数类标