工程科学学报,第39卷.第8期:1244-1253,2017年8月 Chinese Journal of Engineering,Vol.39,No.8:1244-1253,August 2017 D0L:10.13374/j.issn2095-9389.2017.08.015;htp:/journals..usth.edu.cn 基于聚类欠采样的集成不均衡数据分类算法 武森区,刘露,卢丹 北京科技大学东凌经济管理学院,北京100083 ☒通信作者,E-mail:wusen(@manage..usth.cdu.cn 摘要传统的分类算法大多假设数据集是均衡的,追求整体的分类精度.而实际数据集经常是不均衡的,因此传统的分类 算法在处理实际数据集时容易导致少数类样本有较高的分类错误率.现有针对不均衡数据集改进的分类方法主要有两类: 一类是进行数据层面的改进,用过采样或欠采样的方法增加少数类数据或减少多数类数据:另一个是进行算法层面的改进 本文在原有的基于聚类的欠采样方法和集成学习方法的基础上,采用两种方法相结合的思想,对不均衡数据进行分类.即先 在数据处理阶段采用基于聚类的欠采样方法形成均衡数据集,然后用AdaBoost集成算法对新的数据集进行分类训练,并在算 法集成过程中引用权重来区分少数类数据和多数类数据对计算集成学习错误率的贡献,进而使算法更关注少数数据类,提高 少数类数据的分类精度. 关键词不均衡数据;欠采样;聚类;集成学习 分类号TP311 Imbalanced data ensemble classification based on cluster-based under-sampling algorithm WU Sen LIU Lu,LU Dan Donlinks School of Economics and Management,University of Science and Technology Beijing,Beijing 100083.China Corresponding author,E-mail:wusen@manage.ustb.edu.cn ABSTRACT Most traditional classification algorithms assume the data set to be well-balanced and focus on achieving overall classifi- cation accuracy.However,actual data sets are usually imbalanced,so traditional classification approaches may lead to classification errors in minority class samples.With respect to imbalanced data,there are two main methods for improving classification perform- ance.The first is to improve the data set by increasing the number of minority class samples by over-sampling and decreasing the num- ber of majority class samples by under-sampling.The other method is to improve the algorithm itself.By combining the cluster-based under-sampling method with ensemble classification,in this paper,an approach was proposed for classifying imbalanced data.First, the cluster-based under-sampling method is used to establish a balanced data set in the data processing stage,and then the new data set is trained by the AdaBoost ensemble algorithm.In the integration process,when calculating the error rate of integrated learning, this algorithm uses weights to distinguish minority class data from majority class data.This makes the algorithm focus more on small data classes,thereby improving the classification accuracy of minority class data. KEY WORDS imbalanced data;under-sampling;classification;ensemble learning 分类是数据挖掘中的常见任务.经典的分类算法 为机器学习、智能信息系统等领域的重要课题之 在均衡的数据集上表现出较好的分类精度,而实际数 一【],主要集中在采用重采样方法的数据层面改进 据集往往不均衡.针对不均衡数据分类的研究已经成 和算法层面的研究. 收稿日期:2016-12-30 基金项目:国家自然科学基金资助项目(71271027):高等学校博土学科点专项科研基金资助项目(20120006110037)
工程科学学报,第 39 卷,第 8 期:1244鄄鄄1253,2017 年 8 月 Chinese Journal of Engineering, Vol. 39, No. 8: 1244鄄鄄1253, August 2017 DOI: 10. 13374 / j. issn2095鄄鄄9389. 2017. 08. 015; http: / / journals. ustb. edu. cn 基于聚类欠采样的集成不均衡数据分类算法 武 森苣 , 刘 露, 卢 丹 北京科技大学东凌经济管理学院, 北京 100083 苣 通信作者, E鄄mail: wusen@ manage. ustb. edu. cn 摘 要 传统的分类算法大多假设数据集是均衡的,追求整体的分类精度. 而实际数据集经常是不均衡的,因此传统的分类 算法在处理实际数据集时容易导致少数类样本有较高的分类错误率. 现有针对不均衡数据集改进的分类方法主要有两类: 一类是进行数据层面的改进,用过采样或欠采样的方法增加少数类数据或减少多数类数据;另一个是进行算法层面的改进. 本文在原有的基于聚类的欠采样方法和集成学习方法的基础上,采用两种方法相结合的思想,对不均衡数据进行分类. 即先 在数据处理阶段采用基于聚类的欠采样方法形成均衡数据集,然后用 AdaBoost 集成算法对新的数据集进行分类训练,并在算 法集成过程中引用权重来区分少数类数据和多数类数据对计算集成学习错误率的贡献,进而使算法更关注少数数据类,提高 少数类数据的分类精度. 关键词 不均衡数据; 欠采样; 聚类; 集成学习 分类号 TP311 Imbalanced data ensemble classification based on cluster鄄based under鄄sampling algorithm WU Sen 苣 , LIU Lu, LU Dan Donlinks School of Economics and Management, University of Science and Technology Beijing, Beijing 100083, China 苣 Corresponding author, E鄄mail: wusen@ manage. ustb. edu. cn ABSTRACT Most traditional classification algorithms assume the data set to be well鄄balanced and focus on achieving overall classifi鄄 cation accuracy. However, actual data sets are usually imbalanced, so traditional classification approaches may lead to classification errors in minority class samples. With respect to imbalanced data, there are two main methods for improving classification perform鄄 ance. The first is to improve the data set by increasing the number of minority class samples by over鄄sampling and decreasing the num鄄 ber of majority class samples by under鄄sampling. The other method is to improve the algorithm itself. By combining the cluster鄄based under鄄sampling method with ensemble classification, in this paper, an approach was proposed for classifying imbalanced data. First, the cluster鄄based under鄄sampling method is used to establish a balanced data set in the data processing stage, and then the new data set is trained by the AdaBoost ensemble algorithm. In the integration process, when calculating the error rate of integrated learning, this algorithm uses weights to distinguish minority class data from majority class data. This makes the algorithm focus more on small data classes, thereby improving the classification accuracy of minority class data. KEY WORDS imbalanced data; under鄄sampling; classification; ensemble learning 收稿日期: 2016鄄鄄12鄄鄄30 基金项目: 国家自然科学基金资助项目(71271027);高等学校博士学科点专项科研基金资助项目(20120006110037) 分类是数据挖掘中的常见任务. 经典的分类算法 在均衡的数据集上表现出较好的分类精度,而实际数 据集往往不均衡. 针对不均衡数据分类的研究已经成 为机器 学 习、 智 能 信 息 系 统 等 领 域 的 重 要 课 题 之 一[1鄄鄄4] ,主要集中在采用重采样方法的数据层面改进 和算法层面的研究
武森等:基于聚类欠采样的集成不均衡数据分类算法 ·1245· 重采样方法从数据层面入手,将少数类数据变多 样本数据的错误率对总体错误率贡献不同. 或将多数类数据变少,从而使原有的数据集达到均衡 1ECUA概念定义及算法过程 状态.重采样方法主要分为过采样方法和欠采样方 法.最简单的过采样方法是随机过采样.但是这种方 基于聚类欠采样的集成不均衡数据分类算法 法容易使分类器对同一个数据的训练太过强化,从而 (ECUA)涉及的相关概念定义及具体的算法过程说明 使规则对这些数据产生过拟合现象.为了解决这个问 如下. 题,很多研究者都提出了其他的过采样方法,比如基于 1.1概念定义 人工合成少数类过采样技术(synthetic minority over- 概念1(分类数据样本):约定由一组属性值和一 sampling technique,SMOTE)[)、基于主动学习的 个类标号共同描述的数据对象为分类数据样本,表示 SMOTE过采样算法[o)、引入遗传算子的改进算法[]和 为x=(x1,d2,…,xm,r).其中(x1,x2,…,xm)为数据样 基于分形自相似性理论的SMOTE改进算法[s].与过 本的属性值,下标最大值m表示属性值的个数.在二 采样方法类似,最简单的欠采样方法是随机欠采样. 0,如果样本为正样本,本文讨论的 随机欠采样首先随机的选择一部分多数类样本并将其 分类问题中,一,如果样本为负样本 删除,从而形成新的训练集,使训练集中的数据达到均 分类问题均为二分类问题,即只有两种取值,且约定 衡状态.但是这种方法容易删除一些有代表性的多数 少数类数据样本均为正类样本 类样本数据,从而使分类器不能学习到完整的分类规 概念2(分类数据集):约定当一组数据集中每个 则.为了克服这一缺点,许多研究者都提出了其他的 数据样本均为分类数据样本,这种数据集为分类数据 欠采样方法.比如说EasyEnsemble算法和BalanceCas- 集,表示为D={x,}1,其中i=1,2,…,N,标记分 cade算法I)、基于KNN算法的KNN欠采样方法: 类数据集中N个数据样本 Near Miss--l、NearMiss-2、NearMiss--3和“最远距离” 概念3(均衡数据集、不均衡数据集):给定一个数 法[]、单边选择方法[等.其中,有学者提出利用聚 据集D={x,}其中D,={x,0}为类标号均为 类的方法进行欠采样].由于聚类方法可以利用数 0的分类数据子集,D2={x,1,为类标号均为1的 据样本的空间结构信息寻找数据样本的最优划分,因 分类数据子集,其中,N和N2分别是数据集D,和D2 此本文也采用基于聚类的欠采样方法来对训练数据集 分类数据子集的总数,且N,+N2=N.当且仅当数据 中多数类样本进行选择, 集D满足N/N≈N,/N时,该数据集为均衡数据集;否 从算法角度对不均衡数据分类问题进行改进主要 则为不均衡数据集 有五种方法,分别是改变概率密度、单类学习分类、代 概念4(弱分类器):分类正确率仅比随机猜测略 价敏感学习、核方法和集成学习.其中集成学习模型 好的分类器,其分类正确率略高于50%. 始于80年代提出的弱可学习和强可学习概念,集成学 1.2算法过程 习与其他技术相结合,能够提高分类器的性能.目前, ECUA算法的主要过程有两个:使用基于聚类的 最常用的集成学习算法是AdaBoost算法.国际机器学 欠采样算法,得到均衡数据集;在得到均衡的数据集 习界的权威Dietterich将集成学习列为机器学习四大 后,用AdaBoost集成算法对新的数据集进行分类 研究方向之首],其能够有效地提高分类器的泛化能 训练 力和预测精度 1.2.1基于聚类的欠采样过程 基于上述情况,本文在原有的基于聚类的欠采样 相比于随机欠采样等算法,基于聚类的欠采样能 方法和集成学习方法的基础上,将两种针对不均衡数 够减少欠采样过程中的盲目性,从而在减少多数类数 据分类的改进方法融合,提出基于聚类的欠采样集成 据数量的同时也能够尽可能保留多数类数据样本的信 不均衡数据分类算法(imbalanced data ensemble classi- 息.下面是具体的欠采样过程 fication based on cluster-based under-sampling algorithm, 输入:不均衡数据集D ECUA),提高不均衡数据的分类性能.该算法针对不 初始化D'=☑,D1=0,k=0 均衡数据集,用聚类方法对数据集进行欠采样处理,从 foreach x'∈D 而使多数类数据和少数类数据的数量达到均衡.然后 if r=0 以聚类后的类中心代表原多数类样本数据同少数类数 D'=D'Ux 据一起构成新的数据集,再利用AdaBoost算法分别基 else 于单层决策树算法和KNN算法进行集成的分类器训 D=DUx 练.然后在上述算法中的集成学习过程引入权重,对 k=card(D') 错误率的计算进行调整,使少数类样本数据和多数类 D'=Cluster(k,D)
武 森等: 基于聚类欠采样的集成不均衡数据分类算法 重采样方法从数据层面入手,将少数类数据变多 或将多数类数据变少,从而使原有的数据集达到均衡 状态. 重采样方法主要分为过采样方法和欠采样方 法. 最简单的过采样方法是随机过采样. 但是这种方 法容易使分类器对同一个数据的训练太过强化,从而 使规则对这些数据产生过拟合现象. 为了解决这个问 题,很多研究者都提出了其他的过采样方法,比如基于 人工合成少数类过采样技术( synthetic minority over鄄 sampling technique, SMOTE ) [5] 、 基 于 主 动 学 习 的 SMOTE 过采样算法[6] 、引入遗传算子的改进算法[7] 和 基于分形自相似性理论的 SMOTE 改进算法[8] . 与过 采样方法类似,最简单的欠采样方法是随机欠采样. 随机欠采样首先随机的选择一部分多数类样本并将其 删除,从而形成新的训练集,使训练集中的数据达到均 衡状态. 但是这种方法容易删除一些有代表性的多数 类样本数据,从而使分类器不能学习到完整的分类规 则. 为了克服这一缺点,许多研究者都提出了其他的 欠采样方法. 比如说 EasyEnsemble 算法和 BalanceCas鄄 cade 算 法[9] 、 基 于 KNN 算 法 的 KNN 欠 采 样 方 法: NearMiss鄄鄄1、NearMiss鄄鄄 2、NearMiss鄄鄄 3 和 “ 最 远 距 离冶 法[10] 、单边选择方法[11] 等. 其中,有学者提出利用聚 类的方法进行欠采样[12] . 由于聚类方法可以利用数 据样本的空间结构信息寻找数据样本的最优划分,因 此本文也采用基于聚类的欠采样方法来对训练数据集 中多数类样本进行选择. 从算法角度对不均衡数据分类问题进行改进主要 有五种方法,分别是改变概率密度、单类学习分类、代 价敏感学习、核方法和集成学习. 其中集成学习模型 始于 80 年代提出的弱可学习和强可学习概念,集成学 习与其他技术相结合,能够提高分类器的性能. 目前, 最常用的集成学习算法是 AdaBoost 算法. 国际机器学 习界的权威 Dietterich 将集成学习列为机器学习四大 研究方向之首[13] ,其能够有效地提高分类器的泛化能 力和预测精度. 基于上述情况,本文在原有的基于聚类的欠采样 方法和集成学习方法的基础上,将两种针对不均衡数 据分类的改进方法融合,提出基于聚类的欠采样集成 不均衡数据分类算法( imbalanced data ensemble classi鄄 fication based on cluster鄄based under鄄sampling algorithm, ECUA),提高不均衡数据的分类性能. 该算法针对不 均衡数据集,用聚类方法对数据集进行欠采样处理,从 而使多数类数据和少数类数据的数量达到均衡. 然后 以聚类后的类中心代表原多数类样本数据同少数类数 据一起构成新的数据集,再利用 AdaBoost 算法分别基 于单层决策树算法和 KNN 算法进行集成的分类器训 练. 然后在上述算法中的集成学习过程引入权重,对 错误率的计算进行调整,使少数类样本数据和多数类 样本数据的错误率对总体错误率贡献不同. 1 ECUA 概念定义及算法过程 基于聚类欠采样的集成不均衡数据分类算法 (ECUA)涉及的相关概念定义及具体的算法过程说明 如下. 1郾 1 概念定义 概念 1(分类数据样本):约定由一组属性值和一 个类标号共同描述的数据对象为分类数据样本,表示 为 x = (x1 ,x2 ,…,xm ,r). 其中(x1 ,x2 ,…,xm )为数据样 本的属性值,下标最大值 m 表示属性值的个数. 在二 分类问题中,r = 0, 如果样本为正样本, {1, 如果样本为负样本. 本文讨论的 分类问题均为二分类问题,即 r 只有两种取值,且约定 少数类数据样本均为正类样本. 概念 2(分类数据集):约定当一组数据集中每个 数据样本均为分类数据样本,这种数据集为分类数据 集,表示为 D = { x i ,r i } N i = 1 ,其中 i = 1,2,…,N,标记分 类数据集中 N 个数据样本. 概念 3(均衡数据集、不均衡数据集):给定一个数 据集 D = {x i ,r i } N i = 1 . 其中 D1 = {x i ,0} N1 i = 1为类标号均为 0 的分类数据子集,D2 = { x i ,1} N2 i = 1为类标号均为 1 的 分类数据子集,其中,N1 和 N2 分别是数据集 D1 和 D2 分类数据子集的总数,且 N1 + N2 = N. 当且仅当数据 集 D 满足 N1 / N抑N2 / N 时,该数据集为均衡数据集;否 则为不均衡数据集. 概念 4(弱分类器):分类正确率仅比随机猜测略 好的分类器,其分类正确率略高于 50% . 1郾 2 算法过程 ECUA 算法的主要过程有两个:使用基于聚类的 欠采样算法,得到均衡数据集;在得到均衡的数据集 后,用 AdaBoost 集 成 算 法 对 新 的 数 据 集 进 行 分 类 训练. 1郾 2郾 1 基于聚类的欠采样过程 相比于随机欠采样等算法,基于聚类的欠采样能 够减少欠采样过程中的盲目性,从而在减少多数类数 据数量的同时也能够尽可能保留多数类数据样本的信 息. 下面是具体的欠采样过程. 输入:不均衡数据集 D 初始化 D忆 = 芰,D1 = 芰,k = 0 foreach x i沂D if r i = 0 D忆 = D忆胰{x i } else D1 = D1胰{x i } k = card(D忆) D忆1 = Cluster(k,D1 ) ·1245·
·1246· 工程科学学报,第39卷,第8期 D'=D'UD' 0.210 输出:均衡数据集D' 上述过程为基于聚类的欠采样过程,输入不均衡 数据集,得到均衡数据集.其中Cluster(k,D)算法选 用k-means算法.聚类过程中使用的距离公式为欧氏 距离。 在欠采样过程中,首先将数据集分为少数类数据 和多数类数据.少数类数据直接放入新的数据集中, 多数类数据需要经过聚类后,将各类的中心点放入新 0.05 10.38 21.088 31.795 的数据集.聚类方法选择k-means算法,因为要保证欠 属性一 采样后多数类数据与少数类数据的个数达到平衡,因 图2聚类后的数据分布 此设置多数类聚类的数目为少数类数据的个数.先随 Fig.2 Data distribution after clustering 机选择k个数据作为聚类中心,然后计算数据集中每 个点和各个聚类中心的欧氏距离,将数据样本分到距 器五,(x) 离最近的聚类中心代表的簇中.在将所有数据点归为 用h,(x)对样本x进行分类,计算h,(x)分类错 k个类后,重新计算各个类的中心,然后再计算各个点 误率8,= ∑g×lr-h,(x)1 和新的各个类中心距离,重新划分数据类,直到各个类 1 中心不再变化为止 if e>or8=0 经过聚类后的数据集虽然数量变少,但数据的空 break 间特征保留了下来.如图1与图2所示,图1是聚类前 更新样本的权重: 的数据分布图,图2是聚类后的数据分布图,从图中可 以看出,聚类后数据量变少,但数据集的空间分布仍然 g=g,hx)=r otherwise 未变,数据集的分布特征被保留了下来 0.210 B=色6R<1:2=言是-个归一化 常量 输出:集成强分类器.(国)=册二g司 0.130 在集成分类中,最常用的弱分类器是Decision-- Stump.DecisionStump算法是一种简单的单层决策树, 有时也成为决策桩.单层决策树只选择一个具有最大 信息嫡的属性来进行分类).另外,因为Adaboost算 0.055l 法是一个迭代的过程,因此弱分类器应选择时间复杂 10.38 24.83 39.28 属性一 度较低的算法[s].在经典算法中,KNN是一种时间复 图1聚类前的数据分布 杂度较低的算法,其算法的思想是:如果与某个数据样 Fig.1 Data distribution before clustering 本距离最近的k个数据样本中大多数都属于某一类, 基于聚类的欠采样过程利用聚类方法在保留多数 则该数据样本也属于该类.基于上述原因,本文选择 类数据特征的基础上使得两类数据变均衡,集成分类 KNN和DecisionStump两种分类器作为弱分类器.这 过程则基于集成学习的方法在已经均衡的数据集上进 两种算法都简单快速,适合用在迭代过程中 行分类规则的学习,最终输出分类器 1.2.2集成算法的训练过程 2ECUA实验准备 在得到均衡的数据集后,用AdaBoost集成算法对 2.1数据集说明 新的数据集进行分类训练.具体步骤如下 为了检验ECUA算法的分类性能,选取UCI数据 输入:均衡数据集D',迭代次数T 集(htp:/archive.ics.uci.ed/ml/datasets.html)中六 初始化:样本权重a=1/W,i=1,2,…,N,N= 组不均衡数据集进行实验,分别是:ecoli、Pima Indians card(D') diabetes(以下简称pima)、blood transfusion(以下简称 forl=1,2,…,T blood)、Haberman's survival(以下简称haberman)、Wis- 用样本x∈D'训练弱分类器h,(x),得到弱分类 consin prognostic breast cancer(以下简称wpbe)以及
工程科学学报,第 39 卷,第 8 期 D忆 = D忆胰D忆1 输出:均衡数据集 D忆 上述过程为基于聚类的欠采样过程,输入不均衡 数据集,得到均衡数据集. 其中 Cluster( k,D) 算法选 用 k鄄means 算法. 聚类过程中使用的距离公式为欧氏 距离. 在欠采样过程中,首先将数据集分为少数类数据 和多数类数据. 少数类数据直接放入新的数据集中, 多数类数据需要经过聚类后,将各类的中心点放入新 的数据集. 聚类方法选择 k鄄means 算法,因为要保证欠 采样后多数类数据与少数类数据的个数达到平衡,因 此设置多数类聚类的数目为少数类数据的个数. 先随 机选择 k 个数据作为聚类中心,然后计算数据集中每 个点和各个聚类中心的欧氏距离,将数据样本分到距 离最近的聚类中心代表的簇中. 在将所有数据点归为 k 个类后,重新计算各个类的中心,然后再计算各个点 和新的各个类中心距离,重新划分数据类,直到各个类 中心不再变化为止. 经过聚类后的数据集虽然数量变少,但数据的空 间特征保留了下来. 如图1 与图2 所示,图1 是聚类前 的数据分布图,图 2 是聚类后的数据分布图,从图中可 以看出,聚类后数据量变少,但数据集的空间分布仍然 未变,数据集的分布特征被保留了下来. 图 1 聚类前的数据分布 Fig. 1 Data distribution before clustering 基于聚类的欠采样过程利用聚类方法在保留多数 类数据特征的基础上使得两类数据变均衡,集成分类 过程则基于集成学习的方法在已经均衡的数据集上进 行分类规则的学习,最终输出分类器. 1郾 2郾 2 集成算法的训练过程 在得到均衡的数据集后,用 AdaBoost 集成算法对 新的数据集进行分类训练. 具体步骤如下. 输入:均衡数据集 D忆,迭代次数 T 初始化:样本权重 琢 1 i = 1 / N, i = 1,2,…,N,N = card(D忆) for t = 1,2,…,T 用样本 x i沂D忆训练弱分类器 ht(x),得到弱分类 图 2 聚类后的数据分布 Fig. 2 Data distribution after clustering 器 ht(x) 用 ht(x)对样本 x i 进行分类,计算 ht(x)分类错 误率 着t = 移 N i = 1 琢 t i 伊 | r i - ht(xi) | if 着t > 1 2 or 着t = 0 break 更新样本的权重: 琢 t + 1 i = 琢 t i Zt 茁t, ht(xi) = r i 1, { otherwise 茁t = 着t 1 - 着t ,茁t < 1;Zt = 移 N i = 1 琢 t + 1 i 是一个归一化 常量. 输出:集成强分类器 hfin (x) = arg max r沂{0,1} 移t:ht(xi) = r i log 1 茁t 在集成分类中,最常用的弱分类器是 Decision鄄 Stump. DecisionStump 算法是一种简单的单层决策树, 有时也成为决策桩. 单层决策树只选择一个具有最大 信息熵的属性来进行分类[14] . 另外,因为 Adaboost 算 法是一个迭代的过程,因此弱分类器应选择时间复杂 度较低的算法[15] . 在经典算法中,KNN 是一种时间复 杂度较低的算法,其算法的思想是:如果与某个数据样 本距离最近的 k 个数据样本中大多数都属于某一类, 则该数据样本也属于该类. 基于上述原因,本文选择 KNN 和 DecisionStump 两种分类器作为弱分类器. 这 两种算法都简单快速,适合用在迭代过程中. 2 ECUA 实验准备 2郾 1 数据集说明 为了检验 ECUA 算法的分类性能,选取 UCI 数据 集( http: / / archive. ics. uci. edu / ml / datasets. html) 中六 组不均衡数据集进行实验,分别是:ecoli、Pima Indians diabetes(以下简称 pima)、blood transfusion(以下简称 blood)、Haberman蒺s survival(以下简称 haberman)、Wis鄄 consin prognostic breast cancer ( 以下简称 wpbc) 以及 ·1246·
武森等:基于聚类欠采样的集成不均衡数据分类算法 ·1247· MAGIC Gamma telescope(以下简称magic). 本.其中少数类数据样本有6688个,多数类数据样本 ecoli数据集有8个属性,包含336个数据样本. 有12332个.少数类样本与多数类样本数量的比例约 ecoli数据集为多分类数据集,共8个类,各类数据个数 为1:1.84. 如表1所示. 2.2实验评价指标说明 表1 Ecoli数据集类别信息 不均衡数据分类的常用性能指标说明如下. Table 1 Ecoli data set categories 定义在不均衡数据集中少数类(正类)样本为P, 多数类(负类)样本为N,混淆矩阵如表2所示. 类别 数量 cp (cytoplasm) 143 表2混淆矩阵 im (inner membrane without signal sequence) 77 Table 2 Confusion matrix Pp(perisplasm) 2 类别 预测多数类(负类)预测少数类(正类) imU inner membrane,uncleavable signal sequence) 5 真实多数类(负类) TN FP om (outer membrane) 20 真实少数类(正类) FN TP omL.outer membrane lipoprotein) 5 基于混淆矩阵计算的性能指标如公式(1)~公式 imL.inner membrane lipoprotein) 3 (6)所示,分别为真正率(TPR,也称召回率Recall)、真 imS inner membrane,cleavable signal sequence) 负率(TNR,也称特异度Sp)、假正率(FPR)、假负率 由于本文研究二分类问题,所以对ecoli数据集进 (FNR)、查准率(Precision)、分类精度(Acc). TP 行处理.根据ecoli数据集类多的特点,设定cp类为少 TPR=TP+FN' (1) 数类,共143个数据样本;其余类为多数类,共193个 TN 数据样本.ecoli数据集中少数类样本与多数类样本数 TNR =TN +FP' (2) 量的比例约为1:1.35. FP (3) pima数据集有8个属性,包含768个数据样本. FPR=TN +FP' pima数据集为二分类数据集,其中多数类数据有500 FN 个,少数类数据有268个.pima数据集有一些数据样 FNR=TP +FN' (4) 本的某些属性值缺失,分别以两类数据中该属性值完 TP Precision=TP+FP' (5) 整的数据样本的平均属性值填补.即如果某数据样本 TN+TP 是多数类数据,则该数据样本缺失的属性值以多数类 数据中该属性值完整的数据的平均值填补:如果某数 Acc =TN +TP+FP+FN' (6) F值(F-measure)由查准率(Precision)和召回率 据样本是少数类数据,则该数据样本缺失的属性值以 (Recall)两个分类器评价指标共同决定,如式(7)所 少数类数据中该属性值完整的数据的平均值填补.p- 示,当B=1时,表示该评价指标中查准率与召回率同 ma数据集中少数类与多数类样本数量的比例约为1: 样重要,也是常用的F1评价指标,其计算公式如式 1.87. (8),是查准率和召回率的调和平均数.G-mean可以 blo0d数据集有5个属性,包含748个数据样本. 看作是少数类分类精度和多数类分类精度的几何平均 其中少数类数据样本有178个,多数类有570个.少 数,如式(9)所示 数类样本与多数类样本数量的比例约为1:3.20. (1+B2)x Precision x Recall haberman数据集有3个属性,包含306个数据样 F-measure= (7) B2x(Precision Recall)' 本.其中少数类数据样本有81个,多数类数据样本有 F1=2x Precision x Recall 225个.少数类样本与多数类样本数量的比例约为1: Precision Recall (8) 2.78. TN TP wpbc数据集有34个属性值,包含194个数据样 G-mean √TN+Fp×√P+FN (9) 本.本文在利用wpbC数据集进行实验的时候,删除与 3 ECUA实验及结果分析 分类关系不大的身份证号码和时间属性数据,保留其 余32个属性信息以及wpbc数据集的分类标号.wpbc 在对ECUA算法进行实验时,采用交叉验证的方 数据集中少数类样本有46个,多数类样本有148个, 法,按照1:10的比例对数据集进行随机分割,然后计 少数类样本与多数类样本数量的比例约为1:3.22. 算出分类算法的性能指标TPR(Recall)、FPR、TNR、 magic数据集有11个属性,包含19020个数据样 FNR、Precision、Fl、AUC、G-mean.并与分类算法Deci-
武 森等: 基于聚类欠采样的集成不均衡数据分类算法 MAGIC Gamma telescope(以下简称 magic). ecoli 数据集有 8 个属性,包含 336 个数据样本. ecoli 数据集为多分类数据集,共8 个类,各类数据个数 如表 1 所示. 表 1 Ecoli 数据集类别信息 Table 1 Ecoli data set categories 类别 数量 cp (cytoplasm) 143 im (inner membrane without signal sequence) 77 pp (perisplasm) 52 imU (inner membrane, uncleavable signal sequence) 35 om (outer membrane) 20 omL (outer membrane lipoprotein) 5 imL (inner membrane lipoprotein) 2 imS (inner membrane, cleavable signal sequence) 2 由于本文研究二分类问题,所以对 ecoli 数据集进 行处理. 根据 ecoli 数据集类多的特点,设定 cp 类为少 数类,共 143 个数据样本;其余类为多数类,共 193 个 数据样本. ecoli 数据集中少数类样本与多数类样本数 量的比例约为 1颐 1郾 35. pima 数据集有 8 个属性,包含 768 个数据样本. pima 数据集为二分类数据集,其中多数类数据有 500 个,少数类数据有 268 个. pima 数据集有一些数据样 本的某些属性值缺失,分别以两类数据中该属性值完 整的数据样本的平均属性值填补. 即如果某数据样本 是多数类数据,则该数据样本缺失的属性值以多数类 数据中该属性值完整的数据的平均值填补;如果某数 据样本是少数类数据,则该数据样本缺失的属性值以 少数类数据中该属性值完整的数据的平均值填补. pi鄄 ma 数据集中少数类与多数类样本数量的比例约为 1颐 1郾 87. blood 数据集有 5 个属性,包含 748 个数据样本. 其中少数类数据样本有 178 个,多数类有 570 个. 少 数类样本与多数类样本数量的比例约为 1颐 3郾 20. haberman 数据集有 3 个属性,包含 306 个数据样 本. 其中少数类数据样本有 81 个,多数类数据样本有 225 个. 少数类样本与多数类样本数量的比例约为 1颐 2郾 78. wpbc 数据集有 34 个属性值,包含 194 个数据样 本. 本文在利用 wpbc 数据集进行实验的时候,删除与 分类关系不大的身份证号码和时间属性数据,保留其 余 32 个属性信息以及 wpbc 数据集的分类标号. wpbc 数据集中少数类样本有 46 个,多数类样本有 148 个, 少数类样本与多数类样本数量的比例约为 1颐 3郾 22. magic 数据集有 11 个属性,包含 19020 个数据样 本. 其中少数类数据样本有 6688 个,多数类数据样本 有 12332 个. 少数类样本与多数类样本数量的比例约 为 1颐 1郾 84. 2郾 2 实验评价指标说明 不均衡数据分类的常用性能指标说明如下. 定义在不均衡数据集中少数类(正类)样本为 P, 多数类(负类)样本为 N,混淆矩阵如表 2 所示. 表 2 混淆矩阵 Table 2 Confusion matrix 类别 预测多数类(负类) 预测少数类(正类) 真实多数类(负类) TN FP 真实少数类(正类) FN TP 基于混淆矩阵计算的性能指标如公式(1) ~ 公式 (6)所示,分别为真正率(TPR,也称召回率 Recall)、真 负率( TNR,也称特异度 Sp)、假正率( FPR)、假负率 (FNR)、查准率(Precision)、分类精度(Acc). TPR = TP TP + FN , (1) TNR = TN TN + FP , (2) FPR = FP TN + FP , (3) FNR = FN TP + FN , (4) Precision = TP TP + FP , (5) Acc = TN + TP TN + TP + FP + FN . (6) F 值( F鄄measure) 由查准率( Precision) 和召回率 (Recall)两个分类器评价指标共同决定,如式(7) 所 示,当 茁 = 1 时,表示该评价指标中查准率与召回率同 样重要,也是常用的 F1 评价指标,其计算公式如式 (8),是查准率和召回率的调和平均数. G鄄mean 可以 看作是少数类分类精度和多数类分类精度的几何平均 数,如式(9)所示. F鄄measure = (1 + 茁 2 ) 伊 Precision 伊 Recall 茁 2 伊 (Precision + Recall) , (7) F1 = 2 伊 Precision 伊 Recall Precision + Recall , (8) G鄄mean = TN TN + FP 伊 TP TP + FN . (9) 3 ECUA 实验及结果分析 在对 ECUA 算法进行实验时,采用交叉验证的方 法,按照 1颐 10 的比例对数据集进行随机分割,然后计 算出分类算法的性能指标 TPR(Recall)、FPR、TNR、 FNR、Precision、F1、AUC、G鄄mean. 并与分类算法 Deci鄄 ·1247·
·1248· 工程科学学报,第39卷,第8期 sionStump、KNN、基于DecisionStump弱分类器的Ada- 于ECUA算法的少数类数据集错误率的权重实验,专 Boost算法、基于KNN弱分类器的AdaBoost算法进行 注于研究少数类数据的精确度 比较.其中,DecisionStump和KNN是较为传统的分类 3.1ECUA算法的性能研究 算法,基于DecisionStump弱分类器的AdaBoost算法和 3.1.1基于KNN弱分类器的实验结果及分析 基于KNN弱分类器的AdaBoost算法则是不均衡数据 在六组数据集上,KNN、基于KNN弱分类器的 分类算法.实验首先对ECUA算法的性能进行研究. AdaBoost算法和基于KNN弱分类器的ECUA算法的 实验结果证明ECUA算法可以提高少数类的分类精度 实验结果如表3所示.表中加粗的数字表示某数据集 和查准率.然后在这个实验结果的基础上进行两组关 该性能指标最好的实验结果. 表3KNN,AdaBoost,ECUA算法性能实验对比 Table 3 Performance comparison of KNN,AdaBoost,and ECUA algorithms 性能指标 数据集 算法 TPR(Recall) TNR Precision F1 AUC G-mean KNN 0.326 0.823 0.365 0.344 0.599 0.51798 blood AdaBoost 0.315 0.832 0.368 0.339 0.577 0.51194 ECUA 0.579 0.511 0.542 0.560 0.516 0.54394 KNN 0.930 0.953 0.937 0.933 0.944 0.94143 ecoli AdaBoost 0.930 0.953 0.937 0.933 0.944 0.94143 ECUA 0.944 0.937 0.938 0.941 0.939 0.94049 KNN 0.346 0.760 0.341 0.344 0.562 0.51279 haberman AdaBoost 0.346 0.778 0.359 0.352 0.569 0.51883 ECUA 0.469 0.457 0.463 0.466 0.462 0.46296 KNN 0.631 0.796 0.624 0.627 0.709 0.70871 pima AdaBoost 0.631 0.796 0.624 0.627 0.709 0.70871 ECUA 0.750 0.698 0.713 0.731 0.716 0.72353 KNN 0.370 0.764 0.327 0.347 0.575 0.53168 wpbe AdaBoost 0.370 0.764 0.327 0.347 0.575 0.53168 ECUA 0.413 0.435 0.422 0.418 0.429 0.42386 KNN 0.681 0.879 0.753 0.715 0.780 0.77369 magic AdaBoost 0.681 0.879 0.753 0.715 0.780 0.77369 ECUA 0.737 0.790 0.778 0.757 0.765 0.76303 由上表实验结果可以看出,ECUA算法在TPR(或 Sump弱分类器的AdaBoost算法和基于DecisionStump Recall)指标上相比于其他两种分类器在六组数据集 弱分类器的ECUA算法的实验结果如表4所示.表中 上均为表现最好的算法.可见,ECUA算法可以提高对 加粗的数字表示某数据集该性能指标最好的实验 少数类数据的分类精度.而且ECUA算法的Precision 结果. 指标也比其他两种算法表现好,说明ECUA算法对少 从上表可以看出,F1指标上ECUA算法在大多数 数类数据具有更好的查准率.从指标F1上看,ECUA 数据集上也表现最好,说明ECUA算法可以提升少数 算法仍然在六组数据集上表现最好,说明ECUA算法 类数据的分类性能.对于wpbc数据集,ECUA算法的 对少数类数据的召回率和查准率都较高,说明该算法 TPR、Precision、FI和G-mean性能指标比其他两类分 综合性不错,尤其对少数类样本数据分类效果较好. 类器好,而且性能优势明显.可见,对于传统分类算法 综合来看,基于KNN弱分类器的ECUA算法可以提升 难处理的数据集,ECUA算法对分类性能的提升更加 不均衡数据集总体的分类性能,尤其是少数类数据的 明显.所以,基于DecisionStump的ECUA算法可以提 分类性能, 高大多数数据集上少数类数据的分类精度和少数类数 3.1.2基于DecisionStump弱分类器的实验结果及分析 据的查准率,尤其是在wpbc这类难处理的数据集上, 在六组数据集上,DecisionStump、基于Decision-- 即传统分类算法分类效果特别不好的数据集ECUA算
工程科学学报,第 39 卷,第 8 期 sionStump、KNN、基于 DecisionStump 弱分类器的 Ada鄄 Boost 算法、基于 KNN 弱分类器的 AdaBoost 算法进行 比较. 其中,DecisionStump 和 KNN 是较为传统的分类 算法,基于 DecisionStump 弱分类器的 AdaBoost 算法和 基于 KNN 弱分类器的 AdaBoost 算法则是不均衡数据 分类算法. 实验首先对 ECUA 算法的性能进行研究. 实验结果证明 ECUA 算法可以提高少数类的分类精度 和查准率. 然后在这个实验结果的基础上进行两组关 于 ECUA 算法的少数类数据集错误率的权重实验,专 注于研究少数类数据的精确度. 3郾 1 ECUA 算法的性能研究 3郾 1郾 1 基于 KNN 弱分类器的实验结果及分析 在六组数据集上,KNN、基于 KNN 弱分类器的 AdaBoost 算法和基于 KNN 弱分类器的 ECUA 算法的 实验结果如表 3 所示. 表中加粗的数字表示某数据集 该性能指标最好的实验结果. 表 3 KNN、AdaBoost、ECUA 算法性能实验对比 Table 3 Performance comparison of KNN, AdaBoost, and ECUA algorithms 数据集 算法 性能指标 TPR(Recall) TNR Precision F1 AUC G鄄mean KNN 0郾 326 0郾 823 0郾 365 0郾 344 0郾 599 0郾 51798 blood AdaBoost 0郾 315 0郾 832 0郾 368 0郾 339 0郾 577 0郾 51194 ECUA 0郾 579 0郾 511 0郾 542 0郾 560 0郾 516 0郾 54394 KNN 0郾 930 0郾 953 0郾 937 0郾 933 0郾 944 0郾 94143 ecoli AdaBoost 0郾 930 0郾 953 0郾 937 0郾 933 0郾 944 0郾 94143 ECUA 0郾 944 0郾 937 0郾 938 0郾 941 0郾 939 0郾 94049 KNN 0郾 346 0郾 760 0郾 341 0郾 344 0郾 562 0郾 51279 haberman AdaBoost 0郾 346 0郾 778 0郾 359 0郾 352 0郾 569 0郾 51883 ECUA 0郾 469 0郾 457 0郾 463 0郾 466 0郾 462 0郾 46296 KNN 0郾 631 0郾 796 0郾 624 0郾 627 0郾 709 0郾 70871 pima AdaBoost 0郾 631 0郾 796 0郾 624 0郾 627 0郾 709 0郾 70871 ECUA 0郾 750 0郾 698 0郾 713 0郾 731 0郾 716 0郾 72353 KNN 0郾 370 0郾 764 0郾 327 0郾 347 0郾 575 0郾 53168 wpbc AdaBoost 0郾 370 0郾 764 0郾 327 0郾 347 0郾 575 0郾 53168 ECUA 0郾 413 0郾 435 0郾 422 0郾 418 0郾 429 0郾 42386 KNN 0郾 681 0郾 879 0郾 753 0郾 715 0郾 780 0郾 77369 magic AdaBoost 0郾 681 0郾 879 0郾 753 0郾 715 0郾 780 0郾 77369 ECUA 0郾 737 0郾 790 0郾 778 0郾 757 0郾 765 0郾 76303 由上表实验结果可以看出,ECUA 算法在 TPR(或 Recall)指标上相比于其他两种分类器在六组数据集 上均为表现最好的算法. 可见,ECUA 算法可以提高对 少数类数据的分类精度. 而且 ECUA 算法的 Precision 指标也比其他两种算法表现好,说明 ECUA 算法对少 数类数据具有更好的查准率. 从指标 F1 上看,ECUA 算法仍然在六组数据集上表现最好,说明 ECUA 算法 对少数类数据的召回率和查准率都较高,说明该算法 综合性不错,尤其对少数类样本数据分类效果较好. 综合来看,基于 KNN 弱分类器的 ECUA 算法可以提升 不均衡数据集总体的分类性能,尤其是少数类数据的 分类性能. 3郾 1郾 2 基于 DecisionStump 弱分类器的实验结果及分析 在六组数据集上, DecisionStump、 基 于 Decision鄄 Stump 弱分类器的 AdaBoost 算法和基于 DecisionStump 弱分类器的 ECUA 算法的实验结果如表 4 所示. 表中 加粗的数字表示某数据集该性能指标最好的实验 结果. 从上表可以看出,F1 指标上 ECUA 算法在大多数 数据集上也表现最好,说明 ECUA 算法可以提升少数 类数据的分类性能. 对于 wpbc 数据集,ECUA 算法的 TPR、Precision、F1 和 G鄄mean 性能指标比其他两类分 类器好,而且性能优势明显. 可见,对于传统分类算法 难处理的数据集,ECUA 算法对分类性能的提升更加 明显. 所以,基于 DecisionStump 的 ECUA 算法可以提 高大多数数据集上少数类数据的分类精度和少数类数 据的查准率,尤其是在 wpbc 这类难处理的数据集上, 即传统分类算法分类效果特别不好的数据集 ECUA 算 ·1248·
武森等:基于聚类欠采样的集成不均衡数据分类算法 ·1249· 表4 DecisionStump、AdaBoost,ECUA算法性能实验对比 Table 4 Performance comparison of DecisionStump,AdaBoost,ECUA algorithms 性能指标 数据集 算法 TPR(Recall) TNR Precision F1 AUC G-mean DecisionStump 0 1 0 0 0.661 0 blood AdaBoost 0.236 0.933 0.525 0.326 0.726 0.46924 ECUA 0.742 0.674 0.695 0.717 0.752 0.70718 DecisionStump 0.811 0.902 0.859 0.835 0.835 0.85529 ecoli AdaBoost 0.951 0.959 0.944 0.948 0.987 0.95499 ECUA 0.930 0.923 0.924 0.927 0.979 0.92649 DecisionStump 0.321 0.884 0.500 0.391 0.629 0.53269 haberman AdaBoost 0.358 0.893 0.547 0.433 0.644 0.56541 ECUA 0.593 0.679 0.649 0.619 0.668 0.63454 DecisionStump 0.836 0.846 0.744 0.787 0.822 0.84098 pima AdaBoost 0.787 0.890 0.793 0.790 0.927 0.83692 ECUA 0.828 0.843 0.841 0.835 0.905 0.83547 DecisionStump 0 1 0 0 0.542 0 wpbe AdaBoost 0.109 0.953 0.417 0.172 0.584 0.32230 ECUA 0.522 0.478 0.500 0.511 0.505 0.49952 DecisionStump 0.760 0.692 0.573 0.653 0.725 0.725203 magic AdaBoost 0.637 0.867 0.722 0.677 0.849 0.743154 ECUA 0.773 0.768 0.769 0.771 0.846 0.770495 法对少数类数据有很高的分类精度的提升. 0.99 从上述两组实验可以看出,针对传统分类器分类 效果不好的数据集,如blood、haberman和wpbc数据 集,ECUA算法能够较明显地改善分类性能:而针对传 统分类器本身分类效果就较好的数据集,如ecoi和 0.50 pima数据集,ECUA算法分类性能并不一定表现最好. 而传统分类器分类效果好的数据集本身类间差异比较 * 明显,如图3和图4所示为ecoli数据集在mcg、alm2和 alml、yh两组属性值上的类别分布,红色为多数类,蓝 0.45 0.89 色为少数类.从图中可见,ecoli数据集本身类间关系 meg 比较明晰,传统的分类器就可以达到较好的分类效果. 图3 ecoli数据集在mcg和am2属性值上的类别分布 Fig.3 Class distribution of ecoli data sets for meg and alm2 attribute 如图5和图6所示为wpbc数据集在radius、worst sym- values metry和smoothness、concave points SE两组属性值上的 类别分布,红色为多数类,蓝色为少数类.从图中可 见,wpbc数据集类间关系比较模糊,类间重叠很大,传 的计算公式8,= ∑4×1r-h,(x,)1来看,错误率的 统的分类器很难达到比较好的分类效果.而在现实生 计算是将所有分错的数据的权重加起来.此权重为每 活中,类间关系模糊、类间重叠大的数据集更为常见, 个数据的权重,它的改变只和每次迭代过程中各个数 而且这类数据集的分类也更加有难度.因此ECUA较 据是否被错分有关系.因此,此错误率的计算并没有 其他两种算法意义更大 加入数据的类别信息.因为在对不均衡数据分类的时 3.2ECUA算法分类错误率的权重研究 候,人们往往希望更加关注少数类数据,因此本章对集 从上述的两组实验可以看到,ECUA算法可以提 成分类过程的错误率计算公式进行改进,引入类别的 高少数类数据的分类精度和查准率.但是,从错误率 权重来区分少数类数据和多数类数据对错误率的影
武 森等: 基于聚类欠采样的集成不均衡数据分类算法 表 4 DecisionStump、AdaBoost、ECUA 算法性能实验对比 Table 4 Performance comparison of DecisionStump, AdaBoost, ECUA algorithms 数据集 算法 性能指标 TPR(Recall) TNR Precision F1 AUC G鄄mean DecisionStump 0 1 0 0 0郾 661 0 blood AdaBoost 0郾 236 0郾 933 0郾 525 0郾 326 0郾 726 0郾 46924 ECUA 0郾 742 0郾 674 0郾 695 0郾 717 0郾 752 0郾 70718 DecisionStump 0郾 811 0郾 902 0郾 859 0郾 835 0郾 835 0郾 85529 ecoli AdaBoost 0郾 951 0郾 959 0郾 944 0郾 948 0郾 987 0郾 95499 ECUA 0郾 930 0郾 923 0郾 924 0郾 927 0郾 979 0郾 92649 DecisionStump 0郾 321 0郾 884 0郾 500 0郾 391 0郾 629 0郾 53269 haberman AdaBoost 0郾 358 0郾 893 0郾 547 0郾 433 0郾 644 0郾 56541 ECUA 0郾 593 0郾 679 0郾 649 0郾 619 0郾 668 0郾 63454 DecisionStump 0郾 836 0郾 846 0郾 744 0郾 787 0郾 822 0郾 84098 pima AdaBoost 0郾 787 0郾 890 0郾 793 0郾 790 0郾 927 0郾 83692 ECUA 0郾 828 0郾 843 0郾 841 0郾 835 0郾 905 0郾 83547 DecisionStump 0 1 0 0 0郾 542 0 wpbc AdaBoost 0郾 109 0郾 953 0郾 417 0郾 172 0郾 584 0郾 32230 ECUA 0郾 522 0郾 478 0郾 500 0郾 511 0郾 505 0郾 49952 DecisionStump 0郾 760 0郾 692 0郾 573 0郾 653 0郾 725 0郾 725203 magic AdaBoost 0郾 637 0郾 867 0郾 722 0郾 677 0郾 849 0郾 743154 ECUA 0郾 773 0郾 768 0郾 769 0郾 771 0郾 846 0郾 770495 法对少数类数据有很高的分类精度的提升. 从上述两组实验可以看出,针对传统分类器分类 效果不好的数据集,如 blood、haberman 和 wpbc 数据 集,ECUA 算法能够较明显地改善分类性能;而针对传 统分类器本身分类效果就较好的数据集,如 ecoli 和 pima 数据集,ECUA 算法分类性能并不一定表现最好. 而传统分类器分类效果好的数据集本身类间差异比较 明显,如图3 和图4 所示为 ecoli 数据集在 mcg、alm2 和 alm1、gyh 两组属性值上的类别分布,红色为多数类,蓝 色为少数类. 从图中可见,ecoli 数据集本身类间关系 比较明晰,传统的分类器就可以达到较好的分类效果. 如图 5 和图 6 所示为 wpbc 数据集在 radius、worst sym鄄 metry 和 smoothness、concave points SE 两组属性值上的 类别分布,红色为多数类,蓝色为少数类. 从图中可 见,wpbc 数据集类间关系比较模糊,类间重叠很大,传 统的分类器很难达到比较好的分类效果. 而在现实生 活中,类间关系模糊、类间重叠大的数据集更为常见, 而且这类数据集的分类也更加有难度. 因此 ECUA 较 其他两种算法意义更大. 3郾 2 ECUA 算法分类错误率的权重研究 从上述的两组实验可以看到,ECUA 算法可以提 高少数类数据的分类精度和查准率. 但是,从错误率 图 3 ecoli 数据集在 mcg 和 alm2 属性值上的类别分布 Fig. 3 Class distribution of ecoli data sets for mcg and alm2 attribute values 的计算公式 着t = 移 N i = 1 琢 t i 伊 | r i - ht ( xi) | 来看,错误率的 计算是将所有分错的数据的权重加起来. 此权重为每 个数据的权重,它的改变只和每次迭代过程中各个数 据是否被错分有关系. 因此,此错误率的计算并没有 加入数据的类别信息. 因为在对不均衡数据分类的时 候,人们往往希望更加关注少数类数据,因此本章对集 成分类过程的错误率计算公式进行改进,引入类别的 权重来区分少数类数据和多数类数据对错误率的影 ·1249·
·1250· 工程科学学报,第39卷,第8期 1.00H 当1心=0.5时,多数类数据样本的权重和少数类数据样 本的权重相同,此时分类错误率为£,=∑ a×lr2- h,(x:)1,同没有加权的集成分类过程错误率计算公式 0.58 相同.权重0∈[0,1],当00.5时,少数类数据的分类错误率比多数类 .03 0.52 1.00 数据的分类错误率对总的分类错误率贡献更大.可以 图4 ecoli数据集在alml和gwh属性值上的类别分布 通过调节心的值来控制集成分类过程对两个类别数 Fig.4 Class distribution of ecoli data sets for alml and gvh attribute 据的关注程度 values 本文分别在六组数据集上,分别研究基于KNN弱 0.66* 分类器的ECUA算法和基于DecisionStump弱分类器 的ECUA算法在少数类数据的分类错误率取不同权重 时,分类器的性能结果 表5是基于KNN的ECUA算法权重与分类器性 0.41 能实验的实验结果.从表5可以看出,分类器性能随 权重的变化没有任何变化.说明基于KNN弱分类器 的ECUA算法对权重不敏感.因为KNN分类时训练 的是参数k,即邻居的数量,而这一数量不会变化太 0.1 大,因此权重的变化对KNN分类器中参数k的影响不 0.95 19.085 27.22 radius 大,从而对基于KNN弱分类器的ECUA算法的分类性 图5wpbc数据集在radius和worst symmetry属性值上的类别分 能影响也不大 表6是基于DecisionStump的ECUA算法权重与 Fig.5 Class distribution of wpbe data sets on radius and worst sym- 分类器性能实验的实验结果.从表6可以看出,基于 metry attribute values DecisionStump弱分类器的ECUA算法权重的改变对 0.0390 Recall指标有较大影响,总体来说权重的增大可以提 升ECUA分类器少数类数据的分类精度.但权重的变 化对于其他分类性能指标的影响会因数据集的不同而 不同,总体上无法通过调整权重来提升FPR、TNR、 0.0220外 FNR、Precision、F1l、AUC、G-mean这些分类指标. 由ECUA算法不同权重的实验结果可知,基于 为 KNN弱分类器的ECUA算法对权重变化不敏感,因为 KNN分类时训练的是参数k,即邻居的数量,而这一数 0.0052 0.075 0.110 0.140 量不会变化太大;基于DecisionStump弱分类器的EC- smoothness UA算法则可以通过调整权重的大小来控制少数类数 图6wpbc数据集在smoothness和concave points SE属性值上的 据的分类精度,少数类数据的权重越大则少数类数据 类别分布 的分类精度越高.在实际应用中,如果对少数类数据 Fig.6 Class distribution of wpbe data sets on smoothness and con- cave points SE attribute values 的分类精度要求很高,则可通过增大权重来提高基于 DecisionStump弱分类器的ECUA算法的少数类分类精 响.则加权后的错误率计算公式变为ε,= 度.可见,ECUA算法适用于少数类数据价值大、对少 10, 三dx1-A()1x{ r2=0 数类数据分类精度要求特别高的情况. 1-w,r=1 其中,W是 4结论 W 仅重的归一化含量,厚:豆1×仁,0 =0 在融合聚类方法、欠采样方法和集成学习方法的 基础上,提出一种基于聚类欠采样的集成不均衡数据
工程科学学报,第 39 卷,第 8 期 图 4 ecoli 数据集在 alm1 和 gvh 属性值上的类别分布 Fig. 4 Class distribution of ecoli data sets for alm1 and gvh attribute values 图 5 wpbc 数据集在 radius 和 worst symmetry 属性值上的类别分 布 Fig. 5 Class distribution of wpbc data sets on radius and worst sym鄄 metry attribute values 图 6 wpbc 数据集在 smoothness 和 concave points SE 属性值上的 类别分布 Fig. 6 Class distribution of wpbc data sets on smoothness and con鄄 cave points SE attribute values 响. 则 加 权 后 的 错 误 率 计 算 公 式 变 为 着t = 移 N i = 1 琢 t i 伊| r i - ht(xi) | 伊 w, r i = 0 1 - w, r i = { 1 W . 其中,W 是 权重 w 的归一化常量, W = 移 N i = 1 1 伊 w, r i = 0 1 - w, r { i = 1 . 当 w = 0郾 5 时,多数类数据样本的权重和少数类数据样 本的权重相同,此时分类错误率为 着t = 移 N i = 1 琢 t i 伊 | r i - ht(xi) | ,同没有加权的集成分类过程错误率计算公式 相同. 权重 w沂[0,1],当 w 0郾 5 时,少数类数据的分类错误率比多数类 数据的分类错误率对总的分类错误率贡献更大. 可以 通过调节 w 的值来控制集成分类过程对两个类别数 据的关注程度. 本文分别在六组数据集上,分别研究基于 KNN 弱 分类器的 ECUA 算法和基于 DecisionStump 弱分类器 的 ECUA 算法在少数类数据的分类错误率取不同权重 时,分类器的性能结果. 表 5 是基于 KNN 的 ECUA 算法权重与分类器性 能实验的实验结果. 从表 5 可以看出,分类器性能随 权重的变化没有任何变化. 说明基于 KNN 弱分类器 的 ECUA 算法对权重不敏感. 因为 KNN 分类时训练 的是参数 k,即邻居的数量,而这一数量不会变化太 大,因此权重的变化对 KNN 分类器中参数 k 的影响不 大,从而对基于 KNN 弱分类器的 ECUA 算法的分类性 能影响也不大. 表 6 是基于 DecisionStump 的 ECUA 算法权重与 分类器性能实验的实验结果. 从表 6 可以看出,基于 DecisionStump 弱分类器的 ECUA 算法权重的改变对 Recall 指标有较大影响,总体来说权重的增大可以提 升 ECUA 分类器少数类数据的分类精度. 但权重的变 化对于其他分类性能指标的影响会因数据集的不同而 不同,总体上无法通过调整权重来提升 FPR、 TNR、 FNR、Precision、F1、AUC、G鄄mean 这些分类指标. 由 ECUA 算法不同权重的实验结果可知,基于 KNN 弱分类器的 ECUA 算法对权重变化不敏感,因为 KNN 分类时训练的是参数 k,即邻居的数量,而这一数 量不会变化太大;基于 DecisionStump 弱分类器的 EC鄄 UA 算法则可以通过调整权重的大小来控制少数类数 据的分类精度,少数类数据的权重越大则少数类数据 的分类精度越高. 在实际应用中,如果对少数类数据 的分类精度要求很高,则可通过增大权重来提高基于 DecisionStump 弱分类器的 ECUA 算法的少数类分类精 度. 可见,ECUA 算法适用于少数类数据价值大、对少 数类数据分类精度要求特别高的情况. 4 结论 在融合聚类方法、欠采样方法和集成学习方法的 基础上,提出一种基于聚类欠采样的集成不均衡数据 ·1250·
武森等:基于聚类欠采样的集成不均衡数据分类算法 .1251· 表5基于KNN的ECUA算法权重与分类器性能实验 Table 5 ECUA algorithm weight and classifier performance experiment based on KNN 性能指标 数据集 权重 TPR(Recall) TNR Precision F1 AUC G-mean 0.5 0.579 0.511 0.542 0.560 0.516 0.543938 0.6 0.590 0.494 0.538 0.563 0.521 0.539870 0.7 0.601 0.489 0.540 0.569 0.525 0.542115 blood 0.8 0.601 0.489 0.540 0.569 0.528 0.542115 0.9 0.601 0.489 0.540 0.569 0.513 0.542115 1.0 0.601 0.489 0.540 0.569 0.533 0.542115 0.5 0.944 0.937 0.938 0.941 0.939 0.940493 0.6 0.944 0.937 0.938 0.941 0.939 0.940493 Ecoli 0.7 0.944 0.937 0.938 0.941 0.939 0.940493 0.8 0.944 0.937 0.938 0.941 0.939 0.940493 0.9 0.944 0.937 0.938 0.941 0.939 0.940493 1.0 0.944 0.937 0.938 0.941 0.939 0.940493 0.5 0.469 0.457 0.463 0.466 0.462 0.462961 0.6 0.469 0.457 0.463 0.466 0.462 0.462961 0.7 0.469 0.457 0.463 0.466 0.462 0.462961 haberman 0.8 0.469 0.457 0.463 0.466 0.462 0.462961 0.9 0.469 0.457 0.463 0.466 0.458 0.462961 1.0 0.469 0.457 0.463 0.466 0.458 0.462961 0.5 0.75 0.698 0.713 0.731 0.716 0.723533 0.6 0.75 0.698 0.713 0.731 0.716 0.723533 0.7 0.75 0.698 0.713 0.731 0.716 0.723533 pima 0.8 0.75 0.698 0.713 0.731 0.716 0.723533 0.9 0.75 0.698 0.713 0.731 0.716 0.723533 1.0 0.75 0.698 0.713 0.731 0.716 0.723533 0.5 0.413 0.435 0.422 0.418 0.429 0.423857 0.6 0.413 0.435 0.422 0.418 0.429 0.423857 0.7 0.413 0.435 0.422 0.418 0.429 0.423857 0.8 0.413 0.435 0.422 0.418 0.429 0.423857 0.9 0.413 0.435 0.422 0.418 0.429 0.423857 1.0 0.413 0.435 0.422 0.418 0.429 0.423857 0.5 0.737 0.79 0.778 0.757 0.765 0.763039 0.6 0.737 0.79 0.778 0.757 0.765 0.763039 0.7 0.737 0.79 0.778 0.757 0.765 0.763039 0.8 0.737 0.79 0.778 0.757 0.765 0.763039 0.9 0.737 0.79 0.778 0.757 0.765 0.763039 1.0 0.737 0.79 0.778 0.757 0.765 0.763039 分类算法(ECUA),并在该算法的集成分类过程中引 提高少数类数据分类精度的目的. 进权重来区分少数类数据和多数类数据对集成学习错 针对提出的不均衡数据分类算法,选取UCI数据 误率计算时的贡献度,通过控制权重来调整集成分类 库中的数据集对算法性能进行验证,实验结果表明: 过程中错误率对少数类错分样本的关注度,从而达到 ECUA算法可以有效提高分类性能,尤其是对少数类
武 森等: 基于聚类欠采样的集成不均衡数据分类算法 表 5 基于 KNN 的 ECUA 算法权重与分类器性能实验 Table 5 ECUA algorithm weight and classifier performance experiment based on KNN 数据集 权重 性能指标 TPR(Recall) TNR Precision F1 AUC G鄄mean 0郾 5 0郾 579 0郾 511 0郾 542 0郾 560 0郾 516 0郾 543938 0郾 6 0郾 590 0郾 494 0郾 538 0郾 563 0郾 521 0郾 539870 blood 0郾 7 0郾 601 0郾 489 0郾 540 0郾 569 0郾 525 0郾 542115 0郾 8 0郾 601 0郾 489 0郾 540 0郾 569 0郾 528 0郾 542115 0郾 9 0郾 601 0郾 489 0郾 540 0郾 569 0郾 513 0郾 542115 1郾 0 0郾 601 0郾 489 0郾 540 0郾 569 0郾 533 0郾 542115 0郾 5 0郾 944 0郾 937 0郾 938 0郾 941 0郾 939 0郾 940493 0郾 6 0郾 944 0郾 937 0郾 938 0郾 941 0郾 939 0郾 940493 Ecoli 0郾 7 0郾 944 0郾 937 0郾 938 0郾 941 0郾 939 0郾 940493 0郾 8 0郾 944 0郾 937 0郾 938 0郾 941 0郾 939 0郾 940493 0郾 9 0郾 944 0郾 937 0郾 938 0郾 941 0郾 939 0郾 940493 1郾 0 0郾 944 0郾 937 0郾 938 0郾 941 0郾 939 0郾 940493 0郾 5 0郾 469 0郾 457 0郾 463 0郾 466 0郾 462 0郾 462961 0郾 6 0郾 469 0郾 457 0郾 463 0郾 466 0郾 462 0郾 462961 haberman 0郾 7 0郾 469 0郾 457 0郾 463 0郾 466 0郾 462 0郾 462961 0郾 8 0郾 469 0郾 457 0郾 463 0郾 466 0郾 462 0郾 462961 0郾 9 0郾 469 0郾 457 0郾 463 0郾 466 0郾 458 0郾 462961 1郾 0 0郾 469 0郾 457 0郾 463 0郾 466 0郾 458 0郾 462961 0郾 5 0郾 75 0郾 698 0郾 713 0郾 731 0郾 716 0郾 723533 0郾 6 0郾 75 0郾 698 0郾 713 0郾 731 0郾 716 0郾 723533 pima 0郾 7 0郾 75 0郾 698 0郾 713 0郾 731 0郾 716 0郾 723533 0郾 8 0郾 75 0郾 698 0郾 713 0郾 731 0郾 716 0郾 723533 0郾 9 0郾 75 0郾 698 0郾 713 0郾 731 0郾 716 0郾 723533 1郾 0 0郾 75 0郾 698 0郾 713 0郾 731 0郾 716 0郾 723533 0郾 5 0郾 413 0郾 435 0郾 422 0郾 418 0郾 429 0郾 423857 0郾 6 0郾 413 0郾 435 0郾 422 0郾 418 0郾 429 0郾 423857 wpbc 0郾 7 0郾 413 0郾 435 0郾 422 0郾 418 0郾 429 0郾 423857 0郾 8 0郾 413 0郾 435 0郾 422 0郾 418 0郾 429 0郾 423857 0郾 9 0郾 413 0郾 435 0郾 422 0郾 418 0郾 429 0郾 423857 1郾 0 0郾 413 0郾 435 0郾 422 0郾 418 0郾 429 0郾 423857 0郾 5 0郾 737 0郾 79 0郾 778 0郾 757 0郾 765 0郾 763039 0郾 6 0郾 737 0郾 79 0郾 778 0郾 757 0郾 765 0郾 763039 magic 0郾 7 0郾 737 0郾 79 0郾 778 0郾 757 0郾 765 0郾 763039 0郾 8 0郾 737 0郾 79 0郾 778 0郾 757 0郾 765 0郾 763039 0郾 9 0郾 737 0郾 79 0郾 778 0郾 757 0郾 765 0郾 763039 1郾 0 0郾 737 0郾 79 0郾 778 0郾 757 0郾 765 0郾 763039 分类算法(ECUA),并在该算法的集成分类过程中引 进权重来区分少数类数据和多数类数据对集成学习错 误率计算时的贡献度,通过控制权重来调整集成分类 过程中错误率对少数类错分样本的关注度,从而达到 提高少数类数据分类精度的目的. 针对提出的不均衡数据分类算法,选取 UCI 数据 库中的数据集对算法性能进行验证,实验结果表明; ECUA 算法可以有效提高分类性能,尤其是对少数类 ·1251·
·1252· 工程科学学报,第39卷,第8期 表6基于DecisionStump的ECUA算法权重与分类器性能实验 Table 6 ECUA algorithm weight and classifier performance experiment based on DecisionStump 性能指标 数据集 权重 TPR(Recall) TNR Precision F1 AUC G-mean 0.5 0.742 0.674 0.695 0.717 0.752 0.707183 0.6 0.747 0.640 0.675 0.709 0.698 0.691433 0.7 0.747 0.635 0.672 0.707 0.669 0.688727 blood 0.8 0.747 0.635 0.672 0.707 0.683 0.688727 0.9 0.747 0.635 0.672 0.707 0.699 0.688727 1.0 0.747 0.635 0.672 0.707 0.700 0.688727 0.5 0.930 0.923 0.924 0.927 0.979 0.926493 0.6 0.937 0.923 0.924 0.931 0.976 0.929974 0.7 0.958 0.909 0.913 0.935 0.976 0.933178 Ecoli 0.8 0.972 0.909 0.914 0.942 0.975 0.939972 0.9 0.979 0.748 0.795 0.878 0.942 0.855741 1.0 0.951 0.643 0.727 0.824 0.893 0.78198 0.5 0.593 0.679 0.649 0.619 0.668 0.634545 0.6 0.654 0.568 0.602 0.627 0.634 0.609485 0.7 0.901 0.173 0.521 0.661 0.635 0.394808 haberman 0.8 0.951 0.173 0.535 0.684 0.659 0.405614 0.9 0.951 0.173 0.535 0.684 0.672 0.405614 1.0 0.951 0.173 0.535 0.684 0.683 0.405614 0.5 0.828 0.843 0.841 0.835 0.905 0.835466 0.6 0.817 0.832 0.830 0.823 0.893 0.824466 0.7 0.825 0.828 0.828 0.826 0.887 0.826499 pima 0.8 0.825 0.757 0.773 0.798 0.877 0.790269 0.9 0.858 0.817 0.824 0.841 0.884 0.837249 1.0 0.888 0.545 0.661 0.758 0.851 0.695672 0.5 0.522 0.478 0.500 0.511 0.505 0.499516 0.6 0.630 0.391 0.509 0.563 0.516 0.496316 0.7 0.587 0.283 0.450 0.509 0.426 0.407579 wpbe 0.8 0.543 0.283 0.431 0.481 0.404 0.392006 0.9 0.543 0.283 0.431 0.481 0.409 0.392006 1.0 0.543 0.283 0.431 0.481 0.421 0.392006 0.5 0.773 0.768 0.769 0.771 0.846 0.770495 0.6 0.771 0.689 0.712 0.740 0.771 0.728847 0.7 0.771 0.689 0.712 0.740 0.722 0.728847 magic 0.8 0.771 0.689 0.712 0.740 0.722 0.728847 0.9 0.771 0.689 0.712 0.740 0.722 0.728847 1.0 0.771 0.689 0.712 0.740 0.722 0.728847 数据的分类性能.进一步设计实验对ECUA算法的少 标的提升效果不显著.因此ECUA算法更适合于少数 数类数据的分类错误率权重进行研究,实验结果表明: 类数据价值大,对于少数类数据的分类精度要求比较 基于DecisionStump的ECUA算法增大少数类数据的 高的情况. 权重值可以提高少数类的分类精度,但对整体综合指
工程科学学报,第 39 卷,第 8 期 表 6 基于 DecisionStump 的 ECUA 算法权重与分类器性能实验 Table 6 ECUA algorithm weight and classifier performance experiment based on DecisionStump 数据集 权重 性能指标 TPR(Recall) TNR Precision F1 AUC G鄄mean 0郾 5 0郾 742 0郾 674 0郾 695 0郾 717 0郾 752 0郾 707183 0郾 6 0郾 747 0郾 640 0郾 675 0郾 709 0郾 698 0郾 691433 blood 0郾 7 0郾 747 0郾 635 0郾 672 0郾 707 0郾 669 0郾 688727 0郾 8 0郾 747 0郾 635 0郾 672 0郾 707 0郾 683 0郾 688727 0郾 9 0郾 747 0郾 635 0郾 672 0郾 707 0郾 699 0郾 688727 1郾 0 0郾 747 0郾 635 0郾 672 0郾 707 0郾 700 0郾 688727 0郾 5 0郾 930 0郾 923 0郾 924 0郾 927 0郾 979 0郾 926493 0郾 6 0郾 937 0郾 923 0郾 924 0郾 931 0郾 976 0郾 929974 Ecoli 0郾 7 0郾 958 0郾 909 0郾 913 0郾 935 0郾 976 0郾 933178 0郾 8 0郾 972 0郾 909 0郾 914 0郾 942 0郾 975 0郾 939972 0郾 9 0郾 979 0郾 748 0郾 795 0郾 878 0郾 942 0郾 855741 1郾 0 0郾 951 0郾 643 0郾 727 0郾 824 0郾 893 0郾 78198 0郾 5 0郾 593 0郾 679 0郾 649 0郾 619 0郾 668 0郾 634545 0郾 6 0郾 654 0郾 568 0郾 602 0郾 627 0郾 634 0郾 609485 haberman 0郾 7 0郾 901 0郾 173 0郾 521 0郾 661 0郾 635 0郾 394808 0郾 8 0郾 951 0郾 173 0郾 535 0郾 684 0郾 659 0郾 405614 0郾 9 0郾 951 0郾 173 0郾 535 0郾 684 0郾 672 0郾 405614 1郾 0 0郾 951 0郾 173 0郾 535 0郾 684 0郾 683 0郾 405614 0郾 5 0郾 828 0郾 843 0郾 841 0郾 835 0郾 905 0郾 835466 0郾 6 0郾 817 0郾 832 0郾 830 0郾 823 0郾 893 0郾 824466 pima 0郾 7 0郾 825 0郾 828 0郾 828 0郾 826 0郾 887 0郾 826499 0郾 8 0郾 825 0郾 757 0郾 773 0郾 798 0郾 877 0郾 790269 0郾 9 0郾 858 0郾 817 0郾 824 0郾 841 0郾 884 0郾 837249 1郾 0 0郾 888 0郾 545 0郾 661 0郾 758 0郾 851 0郾 695672 0郾 5 0郾 522 0郾 478 0郾 500 0郾 511 0郾 505 0郾 499516 0郾 6 0郾 630 0郾 391 0郾 509 0郾 563 0郾 516 0郾 496316 wpbc 0郾 7 0郾 587 0郾 283 0郾 450 0郾 509 0郾 426 0郾 407579 0郾 8 0郾 543 0郾 283 0郾 431 0郾 481 0郾 404 0郾 392006 0郾 9 0郾 543 0郾 283 0郾 431 0郾 481 0郾 409 0郾 392006 1郾 0 0郾 543 0郾 283 0郾 431 0郾 481 0郾 421 0郾 392006 0郾 5 0郾 773 0郾 768 0郾 769 0郾 771 0郾 846 0郾 770495 0郾 6 0郾 771 0郾 689 0郾 712 0郾 740 0郾 771 0郾 728847 magic 0郾 7 0郾 771 0郾 689 0郾 712 0郾 740 0郾 722 0郾 728847 0郾 8 0郾 771 0郾 689 0郾 712 0郾 740 0郾 722 0郾 728847 0郾 9 0郾 771 0郾 689 0郾 712 0郾 740 0郾 722 0郾 728847 1郾 0 0郾 771 0郾 689 0郾 712 0郾 740 0郾 722 0郾 728847 数据的分类性能. 进一步设计实验对 ECUA 算法的少 数类数据的分类错误率权重进行研究,实验结果表明: 基于 DecisionStump 的 ECUA 算法增大少数类数据的 权重值可以提高少数类的分类精度,但对整体综合指 标的提升效果不显著. 因此 ECUA 算法更适合于少数 类数据价值大,对于少数类数据的分类精度要求比较 高的情况. ·1252·
武森等:基于聚类欠采样的集成不均衡数据分类算法 ·1253· 参考文献 (李江,金辉,刘伟.基于分形SMOTE重采样集成算法圈定 [1]Napierala K.Stefanowski J.Types of minority class examples and 区域化探异常.计算机应用研究,2012,29(10):3744) their influence on leaming classifiers from imbalanced data.JIn- [9]Liu X Y,Wu J X,Zhou Z H.Exploratory under-sampling for tell1 nf Syst,2016,46(3):563 class-imbalance learning.IEEE Trans Syst Man Cybernetics Part B [2]Glauner P,Boechat A,Dolberg L,et al.Large-scale detection of Cybernetics,2009,39(2):539 non-technical losses in imbalanced data sets /2016 IEEE Power [10]Mani I,Zhang I.kNN approach to unbalanced data distribu- Energy Society Innovative Smart Grid Technologies Conference tions:a case study involving information extraction /Proceed- (ISGT).Minneapolis,2016 ings of the ICML 2003 Workshop on Learning from Imbalanced [3]Haque M N,Noman N.Berretta R,et al.Heterogeneous ensem- Datasets.Washington DC,2003:42 ble combination search using genetic algorithm for class imbal- [11]Kubat M,Matwin S.Addressing the curse of imbalanced training anced data classification.Plos One,2016,11(1):e0146116 sets:one-sided selection /International Conference on Machine [4]Klein K,Hennig S,Paul S K.A bayesian modelling approach Learning.Scotland,2012:179 with balancing informative prior for analysing imbalanced data. [12]Zhu Y Q,Deng W B.A method using clustering and sampling Plas0ne,2016,11(4):c0152700 approach for imbalance data.Nanjing Unir Nat Sci,2015,51 [5]Chawla N V,Bowyer K W,Hall LO,et al.SMOTE:synthetic (2):421 minority over-sampling technique.J Artif Intell Res,2002,16: (朱亚奇,邓维斌.一种基于不平衡数据的聚类抽样方法 321 南京大学学报(自然科学版),2015,51(2):421) [6]Zhang Y,Li Z R,Liu X D.Active learning SMOTE based imbal- [13]Dietterich T G.Machine leaming research:four current direc anced data classification.Comput Appl Software,2012,29 (3): tions.Artif Intell Mag,1997,18(4):97 91 [14]Harrington P.Translated by Qu Y D.Li R,Wang B,et al.Ma- (张永,李卓然,刘小丹.基于主动学习SMOTE的非均衡数 chine Learning in Action.Beijing:People's Posts and Telecom- 据分类.计算机应用与软件,2012,29(3):91) munications Press,2013 [7]Wang C X,Zhang T,Ma C S.Improved SMOTE algorithm for im- (Peter Harrington.曲亚东,李锐,王斌,等译.机器学习实 balanced datasets.J Frontiers Comput Sci Technol,2014,8(6): 战.北京:人民邮电出版社,2013) 727 [15]Li Y J,Guo H X,Li Y N,et al.A boosting based ensemble (王超学,张涛,马春森.面向不平衡数据集的改进型SMOTE learning algorithm in imbalanced data classification.Syst Eng 算法.计算机科学与探索,2014,8(6):727) Theory Practice,2016,36(1):189 [8]Li J,Jin H,Liu W.Novel improved SMOTE resampling integrat- (李诒靖,郭海湘,李亚楠,等。一种基于Boosting的集成学 ed algorithm based on fractal for geochemical anomalies evalua- 习算法在不均衡数据中的分类.系统工程理论与实践, tion.Appl Res Comput,2012,29(10):3744 2016,36(1):189)
武 森等: 基于聚类欠采样的集成不均衡数据分类算法 参 考 文 献 [1] Napierala K, Stefanowski J. Types of minority class examples and their influence on learning classifiers from imbalanced data. J In鄄 tell Inf Syst, 2016, 46(3): 563 [2] Glauner P, Boechat A, Dolberg L, et al. Large鄄scale detection of non鄄technical losses in imbalanced data sets / / 2016 IEEE Power & Energy Society Innovative Smart Grid Technologies Conference (ISGT). Minneapolis, 2016 [3] Haque M N, Noman N, Berretta R, et al. Heterogeneous ensem鄄 ble combination search using genetic algorithm for class imbal鄄 anced data classification. Plos One, 2016, 11(1): e0146116 [4] Klein K, Hennig S, Paul S K. A bayesian modelling approach with balancing informative prior for analysing imbalanced data. Plos One, 2016, 11(4): e0152700 [5] Chawla N V, Bowyer K W, Hall L O, et al. SMOTE: synthetic minority over鄄sampling technique. J Artif Intell Res, 2002, 16: 321 [6] Zhang Y, Li Z R, Liu X D. Active learning SMOTE based imbal鄄 anced data classification. Comput Appl Software, 2012, 29 (3): 91 (张永, 李卓然, 刘小丹. 基于主动学习 SMOTE 的非均衡数 据分类. 计算机应用与软件, 2012, 29(3): 91) [7] Wang C X, Zhang T, Ma C S. Improved SMOTE algorithm for im鄄 balanced datasets. J Frontiers Comput Sci Technol, 2014, 8(6): 727 (王超学, 张涛, 马春森. 面向不平衡数据集的改进型 SMOTE 算法. 计算机科学与探索, 2014, 8(6): 727) [8] Li J, Jin H, Liu W. Novel improved SMOTE resampling integrat鄄 ed algorithm based on fractal for geochemical anomalies evalua鄄 tion. Appl Res Comput, 2012, 29(10): 3744 (李江, 金辉, 刘伟. 基于分形 SMOTE 重采样集成算法圈定 区域化探异常. 计算机应用研究, 2012, 29(10): 3744) [9] Liu X Y, Wu J X, Zhou Z H. Exploratory under鄄sampling for class鄄imbalance learning. IEEE Trans Syst Man Cybernetics Part B Cybernetics, 2009, 39(2): 539 [10] Mani I, Zhang I. kNN approach to unbalanced data distribu鄄 tions: a case study involving information extraction / / Proceed鄄 ings of the ICML 2003 Workshop on Learning from Imbalanced Datasets. Washington DC,2003: 42 [11] Kubat M, Matwin S. Addressing the curse of imbalanced training sets: one鄄sided selection / / International Conference on Machine Learning. Scotland, 2012: 179 [12] Zhu Y Q, Deng W B. A method using clustering and sampling approach for imbalance data. J Nanjing Univ Nat Sci, 2015 ,51 (2): 421 (朱亚奇, 邓维斌. 一种基于不平衡数据的聚类抽样方法. 南京大学学报(自然科学版), 2015, 51(2): 421) [13] Dietterich T G. Machine learning research: four current direc鄄 tions. Artif Intell Mag, 1997, 18(4): 97 [14] Harrington P. Translated by Qu Y D, Li R, Wang B, et al. Ma鄄 chine Learning in Action. Beijing: People蒺s Posts and Telecom鄄 munications Press, 2013 (Peter Harrington. 曲亚东, 李锐, 王斌, 等译. 机器学习实 战. 北京: 人民邮电出版社, 2013) [15] Li Y J, Guo H X, Li Y N, et al. A boosting based ensemble learning algorithm in imbalanced data classification. Syst Eng Theory Practice, 2016, 36(1): 189 (李诒靖, 郭海湘, 李亚楠, 等. 一种基于 Boosting 的集成学 习算法在不均衡数据中的分类. 系统工程理论与实践, 2016, 36(1): 189) ·1253·