一种针对非均衡数据分类的改进SMOTE再抽样方法与流程

文档序号:12887680阅读:333来源:国知局
一种针对非均衡数据分类的改进SMOTE再抽样方法与流程

本发明涉及一种针对非均衡数据分类的改进smote再抽样方法,属于非均衡数据分类技术领域。



背景技术:

在实际应用中,我们得到的原始数据对象往往是非均衡的,即某个类别的样本数目要远多于其他类,比如医疗诊断、网路入侵以及iptv预测报障模型等。其中,我们把数目比较多的类称为多数类,而对应数目较少的类则称为少数类。传统的分类器在处理非均衡数据时,通常训练得到的分类器对于多数类具有偏向性,即对多数类的预测正确率较高,而对少数类的正确率则很相对偏低。目前对于非均衡数据集的处理方法通常可以分为两类:一种是基于数据层面的方法,即通过改变数据集的分布,使得非平衡数据集变成均衡的数据集。另一种是基于方法层面的方法,它通过改变少数类中误分类样本的权重,从而获得更好的分类效果。

目前基于方法层面的方法,主要包括代价敏感(cost-sensitive)学习、集成学习、单类学习和面向单个正类的学习等方法。基于数据层面的方法,一般采用随机过抽样或随机欠抽样方式对数据集进行再抽样处理,旨在通过改变非均衡数据集的分布以提高后续分类模型的分类性能,主要包括smote(syntheticminorityoversamplingtechnique)等。smote方法的本质是在少数类样本与某个近邻同类样本的连线上进行再抽样,以此弥补随机过抽样方法的不足。但由于少数类样本在合成新样本的过程中将近邻均视为同类,忽略了少数类样本周围多数类样本的分布特点。因此smote在选择近邻时存在一定的盲目性,而且该方法无法克服非均衡数据集的数据分布问题,容易导致分布边缘化。而本发明所提出的改进型k-means-smote方法能够针对性地解决上述问题。



技术实现要素:

本发明目的在于解决了传统smote方法的近邻选择盲目性以及边缘化的问题,为此提出了一种改进型k-means-smote方法。与传统的smote方法不同,本发明提出的改进的k-means-smote方法,首先通过k-means方法对少数类样本进行聚类,并删除聚类后质心距离多数类最近的子类。然后在每一个类簇中利用样本的近邻类型之间的数量关系再次对类簇进行分类,并删除噪声样本。最后根据输入的随机数与类簇中子类样本数量的比例关系选择在不同的子类样本中进行smote再抽样。本发明能够很好地解决传统smote方法的近邻选择盲目性,减少非均衡数据集的分布边缘化问题。

本发明解决其技术问题所采取的技术方案是:一种针对非均衡数据分类的改进smote再抽样方法,该方法包括以下几个步骤:

步骤1:初始化;对原始数据进行预处理,清洗数据以去除无效数据和重复数据;导入处理后的数据,并将其分为多数类样本和少数类样本。

步骤2:聚类;采用k-means方法对少数类样本进行聚类;该方法首先假设少数类样本集为p,p中的样本是{x(1),...,x(m)},其中x(i)∈p,m表示p中样本数量。我们随机选取3个聚类质心点为p1,p2,p3∈p;其次对于少数类样本集中每个样例i,计算该样本属于的簇c(i):

最后针对少数类样本中的每一个簇j,我们分别重新计算该簇的质心样本点pj:

其中,j代表3个类簇中的某个类簇,c(i)表示样例i和3个类中距离最近的那个子类,c(i)∈[1,3];pj表示某个子类的质心的预测;重复上面的步骤,直到质心不再改变;

步骤3:标记子类样本集,找出噪声样本集;根据步骤2中k-means聚成的3个子类样本的质心利用离差平方和法求出3个子类样本与多数类样本的平均距离,距离最近的标记为新噪声样本;

步骤4:在少数类样本集p中去除新噪声样本;因为新噪声样本集距离多数类样本距离较近,对后续处理影响较大,同时为了使少数类样本集和多数类样本集边缘更加清晰化,删除少数类样本集中的新噪声样本集;此时少数类中有2个类簇;

步骤5:对少数类样本的每个类簇进行再分类;在少数类样本中,我们在每一个类簇中根据knn(k-nearestneighbor)方法将每个类簇中的样本分成三类,分别记为噪声类、安全类、风险类;具体步骤如下:首先,我们定义经过步骤2、3、4处理的少数类集合为smin,多数类集合为smaj;假设类簇表示为sj,j=1,2,对于sj中每一个样本xi,定义xi的m近邻集合为si:m_nn,如果则将样本xi添加到风险类集合,如果m=|si:m-nn∩smaj|,则将样本xi添加到噪声类集合,如果则将样本xi添加到安全类集合;

步骤6:删除少数类每一个类簇中的噪声类样本集合;

步骤7:利用改进型k-means-smote方法合成新样本;在少数类样本smin中的每一个类簇sj中,首先,我们输入一个[0,1]区间内的随机数,用α∈[0,1]表示;其次,我们假设sj中安全类样本集的数量为s,风险类样本集的数量为d;令t=s/d,如果0≤α≤t/t+1,则选择风险类集合,否则,选择安全类集合;最后,对于选中的集合中每一个样本点x(i),搜索其k个少数类最近邻样本点,如果向上采样的倍率记为n,则在其k个最近邻样本点中随机选择n个样本点,记为:y1,y2,y3,···,yn,,在样本点x(i)与yi(j=1,2,···,n)之间进行随机的线性插值,构造新的少数类样本点dj:dj=x(i)+α*(yj-x(i)),j=1,2,···,n表示方法合成的新的样本点,yj表示样本的x(i)的第j个近邻样本点;将这些新合成的少数类样本放入到新的数据集中,标记为新数据样本集;

步骤8:合并数据;步骤7完成后,我们将新数据样本集与少数类样本集smin、多数类集smaj合并作为输出。

本发明是针对非均衡数据分类的改进smote再抽样方法,通过k-means方法对少数类样本进行聚类,并删除聚类后质心距离多数类最近的子类。然后在每一个类簇中利用样本近邻类型之间的数量关系再次对类簇进行分类,并删除噪声样本。最后根据输入随机数与类簇中的子类样本数量比例的关系选择在不同的子类样本中进行smote再抽样。这种方式能够很好地解决传统smote方法的近邻选择盲目性的问题,减少抽样类间重叠的发生。本发明应用于建立用户投诉模型,能有效地提升用户投诉预测的准确性。

有益效果:

1、本发明所采用的改进型k-means-smote方法在对少数类样本进行再抽样前首先进行聚类,并剔除了距离多数类样本较近的噪声样本,这样可以减少多数类样本对抽样的干扰,并且能够使使多数类样本和少数类样本的边缘更加清晰。

2、本发明所采用的改进型k-means-smote方法在对少数类样本进行聚类并删除噪声样本后,又对余下的几个类簇利用knn方法进行分类,并再次删除噪声样本,这样可以进一步减少样本分布对抽样的干扰。

3、本发明所采用的改进型k-means-smote方法在类簇中根据输入随机数与类簇样本集合之间的比例关系选择不同的样本集进行再抽样,使得抽样更加平均,避免抽样过度集中,影响样本特性。

4、本发明提出的改进型k-means-smote方法相比传统smote方法在预测网路电视机顶盒用户的投诉模型中效果显著提高。

附图说明

图1为本发明的抽样方法流程图。

图2为本发明与传统方法性能对比图。

具体实施方式

为了能够更好地说明本发明所涉及的非均衡数据集再抽样方法,下面将其运用在预测网路电视机顶盒用户的投诉模型中。在此类模型中,数据总共分为两类:第一类是机顶盒报警数据;第二类是用户投诉数据。

如图1所示的抽样方法流程,具体包括:

(1)初始化:选取数据的10条属性,然后将数据进行清洗。清洗的主要目标是为了删除不相关的数据以及冗余信息,即噪声样本和不可用数据。数据清洗包括如下两步:1、清理错误的数据,检验数据的重复性和对样本进行标记。对这些数据的处理有利于改进分类的结果和避免数据集的过度泛化。2、遍历整个投诉数据集1中的每个样本,并将其用户id出现在报警数据集2中的样本标记为少数类p,将其他的数据全部标记为多数类,记为m。

经过上述这些步骤后,数据样本总数为494232,其中5218个样本属于少数类样本,488687个样本属于多数类样本从样本的分布可以看出数据处于严重不平衡状态,这将显著影响用户投诉预测模型的结果。

(2)聚类:对于少数类样本p,采用k-means方法对少数类样本进行聚类。首先,随机选取聚类质心点p1,p2,p3∈p;假设p中的样本是{x(1),...,x(m)},其中x(i)∈p,m表示p中样本数量。对于少数类样本集中的每一个样例i,计算该样本属于的簇c(i):

最后针对少数类样本中的每一个簇c(i),分别重新计算该簇类的质心样本点pj:

重复上面的步骤,直到质心不再变化。

其中,j代表3个类簇中的某个类簇,c(i)表示3个类中和样例i距离最近的那个子类,c(i)∈[1,3]。pj表示子类质心的预测。

(3)标记子类样本集,找出噪声样本集;根据上述步骤(2)中k-means聚合成的3个子类样本的质心利用离差平方和法求出3个子类样本距离多数类样本的平均距离。选取多数类样本m的每个样本点,对于每一个子类样例i,根据上述步骤(2)中求出的质心点pj,利用离差平方和公式求出质心到多数类样本n的距离ss:

我们把距离多数类样本最近的标记为新噪声样本。

(4)在少数类样本p中去除新噪声样本;因为新噪声样本集距离多数类样本较近,对后续处理影响较大,同时为了使少数类样本集和多数类样本集之前的边缘更加清晰,删除新噪声样本集。此时少数类中有2个类簇。

(5)对少数类样本中的类簇进行分类;在少数类样本中,在2个类簇中根据knn方法将每个类簇中的样本分成三类,分别记为噪声类、安全类、风险类。具体步骤如下:首先,定义经过上述步骤(2)、(3)、(4)处理的少数类集合为smin,多数类集合为smaj。假设类簇表示为sj,j=1,2,对于sj中每一个样本xi,定义xi的m近邻集合为si:m_nn,如果则将样本xi添加到风险类集合,如果m=|si:m-nn∩smaj|,则将样本xi添加到噪声类集合,如果则将样本xi添加到安全类集合。

(6)删除少数类的每一个类簇中的噪声类样本集合。

(7)利用改进型k-means-smote方法合成新样本;在少数类样本smin中的每一个类簇sj中:1、输入一个[0,1]区间内的随机数用α∈[0,1];2、假设sj中安全类样本集的数量为s,风险类样本集的数量为d。令t=s/d,如果0≤α≤t/t+1,则选择风险类集合,否则选择安全类集合;3、对于选中的集合中每一个样本点x(i),搜索其k=100个少数类最近邻样本点,将向上采样的倍率记为n=488687/5218≈94,在其100个最近邻样本点中随机选择94个样本点,记为:y1,y2,y3,···,y94,,在样本点x(i)与yi(j=1,2,···,94)之间进行随机的线性插值,构造新的少数类样本点dj。

其中,dj=x(i)+α*(yj-x(i)),j=1,2,···,94表示方法合成的新的样本点,yj表示样本的x(i)的第j个近邻样本点。将这些新合成的少数类样本放入到新的数据集中,标记为新样本集。

(8)合并数据;步骤(7)完成后,将新样本集与少数类样本集smin、多数类集smaj合并作为输出。

性能评价:

将采用本发明所提出的改进型k-means-smote方法与传统smote方法以及不经过smote处理的方法应用于预测网络机顶盒用户投诉行为模型中,并对模型的预测率进行比较,以评价和衡量本发明所涉及方法的准确性与有效性。输出结果如图2所示,该图的第一列表示少数类样本数目与多数类样本数目的比值,选取不同的比例值可以避免实验结果的偶然性。该图的中间数据表示系统的评价函数值,评价值越高表示模型的分类效果越好。该图的第一行表示在预测网络机顶盒用户投诉行为模型中选取不经过smote处理的方法、传统的smote方法以及改进型k-means-smote方法。实验结果表面,当少数类样本数目与多数类样本数目的比例值为1:30、1:60、1:80时,运用改进型k-means-smote方法的模型评价函数值分别为0.5497、0.5530、0.5500,均要高于运用传统smote方法的模型评价函数值0.3540、0.3602、0.3582。在预测投诉行为模型中,少数类样本非常重要,预测模型的性能对网络电视机顶盒供应商在用户做出投诉之前及时维护意义非凡,更好的性能有助于提高用户的体验质量。因此,本发明所提出的方法是处理非均衡数据集的有效工具。

本发明并不仅仅局限于本具体实施方式的描述,其应当以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1