不平衡数据分类问题解决办法
2018-02-26季晨雨
季晨雨
摘要
不平衡数据分类是指数据集中某一类的样本数量远小于其他类的样本数量。由于传统分类算法在设计时,通常假定用于训练的数据集各类样本数大致相等,所以利用传统的分类方法对数据集进行分类时,会出现少数类的分类准确率较低的问题因此,如何解决不平衡数据分类问题是数据挖掘研究领域的一个热点和难点。本文对不平衡数据分类问题进行了研究,从数据层面、算法层面、评价指标三个层面分别对目前存在的各种解决不平衡数据分类问题的方法进行介绍及比较,最后指出了不平衡数据分类在未来研究中的值得关注的一些研究方向。
【关键词】分类 不平衡数据 采样 集成学习
1 引言
不平衡数据分类问题,是指数据集中某类样本的数目远远少于其他类的样本数目,即样本分布不平衡。由于传统分类算法在设计时,通常假定用于训练的数据集各类样本数大致相等,所以利用传统的分类方法对数据集进行分类时,会出现少数类的分类准确率较低的情况。然而,在现实生活中,我们往往关注的是少数类样本是否能被正确分类。例如在信用卡欺诈识别中,属于欺诈行为的交易样本的数量要远远小于正常交易的样本数量,属于不平衡分类问题,且关注的重点是欺诈行为的交易样本能否被正确识别。
在实际应用中,还有许多分类问题,属于不平衡分类问题,比如网络入侵检测,医疗疾病诊断、客户流失预测、广告点击预测、卫星图像油井喷发检测等等。
2 不平衡数据分类问题解决办法
不平衡数据的分类器性能较差的原因主要包括绝对样本缺失、相对样本缺失,评价指标选取不当,噪声数据影响,不恰当的归纳偏置以及分而治之的分类算法带来的数据碎片问题。
解决不平衡数据分类问题,可以从数据、算法、评价指标三个层面着手。
2.1 从数据的角度
通过改变原始数据集的样本分布,采用过采样方法或欠采样方法,即对少数类样本数目进行增加或对多数类样本数目进行减少,使不平衡数据集的正负类样本数达到平衡。欠采样包括随机欠采样,即随机选择部分多数类样本作为训练集中的多数类样本,但随机选择多数类样本会使整个数据集多数类的信息不完整,可能丢失一些很重要的多数类样本,比如一些恰好处于决策边界的样本,对决策边界的确定有很大影响。因此又提出了根据少数类样本相邻的多数类样本来训练决策边界。随机过采样作为最简单的过采样方法,生成的样本和原数据集的相似程度过大,可能会出现比较严重的过拟合问题,为了避免这一问题,提出了样本生成技术SMOTE。但是由于SMOTE在生成新样本时没有参考多数类样本,因此可能会出现新生成的样本与原有的多数类样本发生重叠的现象。Borderline-SMOTE方法通过区分边界样本、安全样本和噪声样本,仅对边界少数类样本进行过采样,有利于识别多数类和少数类的决策边界。
2.2 在算法上
修改己有的分类器,使之适应不平衡数据的特征。主要包括代价敏感分类器,集成学习等方法。代价敏感分类器区分少数类样本和多数类样本误分代价,对少数类样本误分将付出更大代价。集成学习是在训练集上训练多个分类模型,预测时根据每个分类器的分类结果进行投票,得到最终的预测结果。常用的组合方法,包括Bagging,Boosting以及随机森林等。
SMOTEBoost算法是一种通过将SMOTE与Boosting技术融合来处理类不平衡问题的方法,相比于传统的Boosting算法通过改变每一个样本的权重调整训练集样本的分布策略,SMOTEBoosting算法利用SMOTE过采样来增加新的少数类样本来改变样本的分布。
J.V.Hulse等人对EasyEnsemble、Partition和RUSBoost二种方法进行了对比和验证,实验证明这二种算法与RUS算法相比,在不平衡數据集分类问题上表现更好。P.Yao针对传统的分类方法没有区别对待多数类样本与少数类样本的不足之处,提出了对C4.5支持向量化模型进行加权的算法。X.Y.Liu等人基于欠抽样法的不足,提出了两种欠抽样法的改进算法EasyEnsemble和BalancdCascadeoEasyEnsemble算法多次利用随机欠抽样生成多个训练子集来构建分类子模型,再将构建的分类子模型组成最终的分类模型;BalancedCascade算法依靠分类器反复预测训练集,将预测正确的多数类样本去除生成新的训练集,再通过新训练集训练新分类器,经过多次重复训练形成最终分类器。潘俊等人通过减少过拟合及控制少数类的F-measure值来改进Boosting算法,提出了一种改进算法RIFBoost。
2.3 从评价指标上
分类模型的评价指标包括:
(1)正确率(Precision),TP/(TP+FP),给出的是预测为正类的样本中实际为正样本的比例。
(2)召回率(Recall),又称查全率,TP/(TP+FN),给出的是预测为正类的真实正样本占所有真实正样本的比例。
(3)准确率(accuracy),(TP+TN)/(P+N),即模型预测正确的样本占所有样本的比例
传统的分类模型通常使用模型的准确率进行评估。分类模型的准确率反映了分类模型对数据集整体的分类性能。但只使用准确率来衡量对不平衡数据集的分类效果,并不能反映对少数类的分类性能。利用少数类的召回率(查全率)可以反映正确判别的少数类占所有少数类的比例。F1分数同时考虑了分类模型的准确率和召回率,是处理不平衡数据分类问题时的有效评价指标。
F1分数可以看作是模型准确率和召回率的一种加权平均,F1分数的分布在0-1之间。
还可以采用ROC曲线下的面积AUC作为评价指标。因为ROC曲线有一个很好的性能,当测试集中的正负样本的分布变化时,ROC曲线能够保持不变,因此适合作为不平衡数据集分类时的评价指标。
ROC曲线是一系列threshold下的(FPR,TPR)数值点的连线。
其中,
AUC被定义为ROC曲线下的面积,使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好
3 总结
本文对不平衡数据分类问题进行了研究,从数据层面、算法层面、评价指标二个层面分别对目前存在的各种解决不平衡数据分类问题的方法进行介绍及比较。对于不平衡数据集分类问题,以后的研究可以从以下几个方面进行:
(1)当前的研究大多着眼于采样方法、决策树、支持向量机算法以及Boosting等集成方法,很少从其他传统分类算法的原理入手研究传统分类算法如何处理不平衡数据分类问题,因此如何利用决策树,支持向量机之外的传统分类算法解决不平衡数据分类问题有待研究;
(2)不平衡数据分类问题的研究大多是针一对类间样本数目不平衡的问题而很少关注类内样本数目不平衡问题,因此可以围绕类内样本的不平衡问题进行研究。
参考文献
[1]李元菊.数据不平衡分类研究综述[J].现代计算机,2016(04):30-33.
[2]陈湘涛,高亚静.不平衡数据分类研究综述[J].邵阳学院学报(自然科学版),2017,14(02):1-11.
[3]温雪岩,陈家男,景维鹏等.面向不平衡数据集分类模型的优化研究[J].计算机工程,2018,44(04).
[4]易未,毛力,孙俊,改进Smote算法在不平衡数据集上的分类研究[J].计算机与现代化,2018(03).
[5]徐丽丽.面向不平衡数据集的分类算法研究[D].辽宁师范大学,2016.
[6]叶枫,丁锋.不平衡数据分类研究及其应用[J].计算机应用与软件,2018(01):132-136.