一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于权重的不平衡数据分类过采样方法及系统与流程

2022-02-21 09:11:12 来源:中国专利 TAG:


1.本发明涉及不平衡数据处理领域,尤其涉及一种基于权重的不平衡数据分类过采样方法及系统。


背景技术:

2.不平衡分类引起了广泛的研究,主要是由于在现实生活中的各个应用领域,如医疗诊断、欺诈检测、网络入侵、软件缺陷预测等,数据不平衡现象普遍存在。这些应用的特点是,不平衡的样本(少数类)远远少于其他类(多数类)。在这种情况下,准确识别少数样本更有意义。然而,传统的分类算法往往偏向于多数类,导致对少数类的分类精度较低。学习不平衡的问题已经引起了学术界和产业界的广泛关注。
3.为了提高少数类的分类精度,已经发展了许多旨在解决类不平衡问题的方法。这些方法大致可以分为三类:(1)算法级别的方法——修改或创建算法来加强算法对少数类的学习;(2)代价敏感级的方法——最小化高代价错误;(3)数据级方法——通过欠采样,过采样,或者混合采样来预处理数据集。在这三个方法中,数据级方法是最受欢迎的。因为他们不依赖于任何的分类器。而且不限于任何特定的问题。在数据级方法中,过采样方法使用频率较高,因为欠采样方法倾向于剔除大多数类的数据,导致重要数据的丢失,而过采样方法的性能一般优于欠采样方法。
4.综合少数过采样技术(synthetic minority oversampling technique,smote)是不平衡分类中最常用的过采样方法之一。由于其固有的缺点是盲目生成新样本而不区分噪声样本,因此很多版本的smote算法都是为了避免将噪声样本作为种子样本,或者在过采样后去除标签噪声样本,对于噪声样本大多采knn模型进行识别,需要提前进行参数设置,影响模型分类精度,并且变量在少数样本及其邻域之间随机线性插值新样本,而没有考虑每个少数样本与其邻域之间的相对混乱水平,采样精度不高,因此需要一种能够自适应识别噪声样本且充分考虑每个样本的邻域的过采样方法。


技术实现要素:

5.本发明所要解决的技术问题是如何提高不平衡数据的少数类样本过采样时的精度,本发明的目的在于提出一种基于权重的不平衡数据分类过采样方法及系统,根据构造的完全随机森林计算每个少数类样本的权重,从而准确区分出噪声样本,并在取出掉噪声样本的少数类样本中进行筛选生成新样本,本发明在生成新样本时充分考虑到了每个样本的邻域,且适用于smote及其各种变种方法的过采样算法。
6.本发明通过下述技术方案实现:
7.一种基于权重的不平衡数据分类过采样方法,包括以下步骤:
8.s1、获取待处理不平衡数据样本集,对待处理不平衡数据样本集进行分类,得到少数类样本集和多数类样本集;
9.s2、根据待处理不平衡数据样本自带的分类标签构造若干棵完全随机树,得到完
全随机森林;根据每棵完全随机树分别对每个少数类样本进行初步判定,判定该少数类样本是否为噪声样本;
10.s3、根据每个少数类样本在每棵完全随机树中的初步判定结果,计算每个少数类样本在完全随机森林中的权重;
11.s4、根据每个少数类样本在完全随机森林中的权重判断每个少数类样本是否为噪声样本,并从少数类样本集中过滤掉所有噪声样本,得到去噪声少数类样本集;
12.s5、根据不同过采样算法的策略从去噪声少数类样本集中筛选种子样本,对种子样本进行插值处理生成新样本;
13.s6、将种子样本、新样本、多数类样本集、去噪声少数类样本集进行汇总,得到采样后的平衡数据集。
14.现有技术中,很多smote的变种算法为了避免将噪声样本作为种子样本,采用了不同的预处理算法来筛选种子样本,或者在过采样后结合过滤器去除标签噪声样本。目前较新且效果较好的一个变种方法是在过采样前用knn来计算少数类样本的权重。利用knn模型进行噪声识别时,需要根据实际情况对模型的参数进设置,若参数设置不当则会影响模型的分类精度,且knn模型常用于处理中小型数据集和一些特定模型,对于一些大型数据集或高维数据集上效果不明显,另外,在生成新样本时,一般依靠距离度量,可以使用欧式距离,曼哈顿距离,余弦距离等方式在少数样本及其邻域之间随机线性插值新样本,而没有考虑每个少数样本与其邻域之间的相对混乱水平,采样精度不高,因此本技术一方面通过构建完全随机树(crf),利用完全随机树计算少数类的权重,根据权重来检测少数类中的噪声样本,不用考虑调参问题,自适应各种情况,减少了噪声样本的产生,提高识别精度,另外本技术利用完全随机树crf对数据进行空间划分,根据权重计算新样本的生成位置,使生成的新样本更靠近安全区域,充分考虑到了每个样本的邻域和样本空间的混乱程度,由于直接根据数据集构造随机树且生成完全随机树,因此本发明方法适用于smote及其各种变种算法,且利用完全随机树crf在处理高维数据集或者大数据集时,噪声的识别效果会更好。
15.进一步地,完全随机森林包括了n
tree
棵完全随机树,其中,完全随机森林包括了n
tree
棵完全随机树,其中,完全随机树的棵树根据所有待处理不平衡数据样本的数据维度和样本数量来确定,
16.n
tree
=log2(dn)
17.其中,n表示待处理不平衡数据样本集中所有样本的个数,d表示待处理不平衡数据样本集中所有样本的特征个数。
18.进一步地,步骤s2的具体过程为:
19.s21、构造完全随机树的根节点,每棵完全随机树的根节点包括所有少数类样本和多数类样本,从每棵树的根节点开始将所有少数类样本和多数类样本随机生成两个子节点;
20.s22、对于生成的两个子节点,重新确定两个子节点的标签类型,并分别判断两个子节点中包含的样本是否属于同一类;根节点的标签类型为多数类样本的标签类型,生成的子节点的标签类型为该子节点中包含的样本占比更多的那类样本对应的标签类型;
21.s23、若子节点中包含的样本类型不属于同一类,则继续将该子节点作为父节点,重复步骤s22随机生成两个新的子节点,子节点可作为新的子节点的父节点,直到新生成的
子节点中包含的样本属于同一类,则只包含同一类样本的子节点为叶子节点,即该节点中只含少数类样本或多数类样本中的一种,构造出完全随机树;
22.s24、根据构造出的完全随机树,对于每个少数类样本,判断每棵树中每个少数类样本所在叶子节点的标签类型与该叶子节点对应的父节点的标签类型是否一致;
23.s25、在每棵完全随机树中,若少数类样本所在的叶子节点的标签类型与其对应的父节点的标签类型不一致,则当前这棵树将该叶子节点中包含的少数类样本初步判断为噪声样本。
24.进一步地,s3中计算每个少数类样本在完全随机森林中的权重的过程为:
25.s31、利用待处理不平衡数据样本集训练n
tree
棵完全随机树,对于每棵完全随机树,判断每个少数类样本所在叶子节点和该叶子节点对应的父节点的标签类型是否相同;若不相同,则初步判断该少数类样本为噪声样本;
26.s32、在完全随机森林中,对于每个少数类样本,判断是否存在n
chaos
颗树将该少数类样本初步判断为噪声样本,若存在则该少数类样本的权重为0,否则该少数类样本的权重为则少数类样本的权重weight用公式表示如下:
[0027][0028]
进一步地,步骤s4中,若少数类样本的权重为0,则判断这个少数类样本为噪声样本,从少数类样本集中过滤掉所有被判断为噪声样本的少数类样本。
[0029]
进一步地,s5中,生成新样本的具体过程为:
[0030]
s51、将筛选出的种子样本汇总得到种子样本数据集,从种子样本数据集中分辨出安全样本和危险样本;具体过程为:
[0031]
用去噪声少数类样本集训练knn模型,对于任意一个种子样本s,求出这个种子样本s在所有少数类样本中的近邻点,从种子样本s的k个近邻点中随机选取一个近邻样本n,在s和n中,令权重大的样本为安全样本ss,权重小的样本为危险样本ds,
[0032]
s52、根据安全样本和危险样本的权重确定插值位置syn,得到新样本的具体位置,生成新样本,插值位置syn的确定:
[0033]
syn=ss (ds-ss)*(weight
ds
*α)/weight
ds
weight
ss
,其中,ss表示安全样本,weight
ss
表示安全样本的权重,ds表示危险样本,weight
ds
表示危险样本的权重,α表示随机参数,取值范围为:0<α<1。
[0034]
另外,本发明提供一种基于权重的不平衡数据分类过采样系统,包括数据分类采集模块、完全随机森林构造模块、权重计算模块、噪声过滤模块、种子样本筛选模块,新样本生成模块,数据整理模块;其中,
[0035]
数据分类采集模块用于对获取的待处理不平衡数据样本集进行分类,得到少数类样本集和多数类样本集;
[0036]
完全随机森林构造模块用于根据待处理不平衡数据样本自带的分类标签构造若干棵完全随机树,得到完全随机森林;并根据每棵完全随机树分别对每个少数类样本进行
初步判定,判定该少数类样本是否为噪声样本;
[0037]
权重计算模块用于根据每个少数类样本在每棵完全随机树中的初步判定结果,计算每个少数类样本在完全随机森林中的权重;
[0038]
噪声过滤模块用于根据权重筛选出噪声样本,并从少数类样本集中过滤掉所有噪声样本,得到去噪声少数类样本集;
[0039]
种子样本筛选模块用于根据不同过采样算法的策略从去噪声少数类样本集中筛选种子样本;
[0040]
新样本生成模块用于对种子样本进行插值处理生成新样本;
[0041]
数据整理模块用于将得种子样本、新样本、多数类样本集、去噪声少数类样本集进行收集汇总,得到采样后的平衡数据集。
[0042]
进一步地,完全随机森林包括了n
tree
棵完全随机树,其中,完全随机树的棵树根据所有待处理不平衡数据样本的数据维度和样本数量来确定,
[0043]ntree
=log2(dn)
[0044]
其中,n表示待处理不平衡数据样本集中所有样本的个数,d表示待处理不平衡数据样本集中所有样本的特征个数。
[0045]
进一步地,在所述权重计算模块中,利用待处理不平衡数据样本集训练n
tree
棵完全随机树,对于每棵完全随机树,判断每个少数类样本所在叶子节点和该叶子节点对应的父节点的标签类型是否相同;若不相同,则初步判断该少数类样本为噪声样本;
[0046]
在完全随机森林中,对于每个少数类样本,判断是否存在n
chaos
颗树将该少数类样本初步判断为噪声样本,若存在则该少数类样本的权重为0,否则该少数类样本的权重为
[0047]
进一步地,噪声过滤模块中,将权重为0的少数类样本判断为噪声样本,从少数类样本集中过滤掉所有被判断为噪声样本的少数类样本。
[0048]
本发明与现有技术相比,具有如下的优点和有益效果:
[0049]
1、本发明一种基于权重的不平衡数据分类过采样方法及系统,通过构建完全随机树(crf),利用完全随机树计算少数类的权重,根据权重来检测少数类中的噪声样本,不用考虑调参问题,自适应各种情况,减少了噪声样本的产生,提高识别精度;
[0050]
2、本发明一种基于权重的不平衡数据分类过采样方法及系统,利用完全随机树crf对数据进行空间划分,根据权重计算新样本的生成位置,使生成的新样本更靠近安全区域,充分考虑到了每个样本的邻域和样本空间的混乱程度,由于直接根据数据集构造随机树且生成完全随机树,因此本发明方法适用于smote及其各种变种算法,且利用完全随机树crf在处理高维数据集或者大数据集时,噪声的识别效果会更好。
附图说明
[0051]
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可
以根据这些附图获得其他相关的附图。在附图中:
[0052]
图1为本发明的过采样方法流程图;
[0053]
图2为本发明一种实施方式中构造的完全随机树;
[0054]
图3为本发明一种具体实施方式中从少数类样本中区分出的噪声样本;
[0055]
图4为本发明一种具体实施方式中生成新样本时的插值过程。
具体实施方式
[0056]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0057]
实施例1
[0058]
如图1所示,本实施例一种基于权重的不平衡数据分类过采样方法,包括以下步骤:
[0059]
s1、获取待处理不平衡数据样本集,对待处理不平衡数据样本集进行分类,得到少数类样本集和多数类样本集;
[0060]
s2、根据待处理不平衡数据样本自带的分类标签构造若干棵完全随机树,得到完全随机森林;根据每棵完全随机树分别对每个少数类样本进行初步判定,判定该少数类样本是否为噪声样本;完全随机森林包括了n
tree
棵完全随机树,其中,完全随机树的棵树根据所有待处理不平衡数据样本的数据维度和样本数量来确定,
[0061]ntree
=log2(dn)
[0062]
其中,n表示待处理不平衡数据样本集中所有样本的个数,d表示待处理不平衡数据样本集中所有样本的特征个数。
[0063]
具体地,构造完全随机树和初步判定过程为:
[0064]
s21、构造完全随机树的根节点,每棵完全随机树的根节点包括所有少数类样本和多数类样本,从每棵树的根节点开始将所有少数类样本和多数类样本随机生成两个子节点;
[0065]
s22、对于生成的两个子节点,重新确定两个子节点的标签类型,并分别判断两个子节点中包含的样本是否属于同一类;由前述可知,此处的多数类为该子节点中占比较多的那类即为多数类样本或少数类样本;根节点的标签类型为多数类样本的标签类型,生成的子节点的标签类型为该子节点中包含的样本占比更多的那类样本对应的标签类型;
[0066]
s23、若子节点中包含的样本类型不属于同一类,则继续将该子节点作为父节点,重复步骤s22随机生成两个新的子节点,子节点可作为新的子节点的父节点,直到新生成的子节点中包含的样本属于同一类,则只包含同一类样本的子节点为叶子节点,即该节点中只含少数类样本或多数类样本中的一种,构造出完全随机树;
[0067]
s24、根据构造出的完全随机树,对于每个少数类样本,判断每棵树中每个少数类样本所在叶子节点的标签类型与该叶子节点对应的父节点的标签类型是否一致;
[0068]
s25、在每棵完全随机树中,若少数类样本所在的叶子节点的标签类型与其对应的父节点的标签类型不一致,则当前这棵树将该叶子节点中包含的少数类样本初步判断为噪声样本。
[0069]
如图2所示,图2为根据上述方法生成的一棵完全随机树,其中,左边表示待处理不平衡数据样本集,包括样本1~15,圆形表示多数类样本,方形代表少数类样本,在这棵完全随机树中,椭圆框节点的标签类型是多数类样本,方框节点的标签类型是少数类,从图中可以看出,根据步骤s21-s23,构造出了一棵完全随机树,且树中每个节点都具有相应的标签类型,判断当前节点与上一个节点的标签类型是否相同可知,样本4,10,12所在叶子节点和生成叶子节点对应的父节点的标签类型不同,则将这三个样本初步判定为噪声样本。
[0070]
s3、根据每个少数类样本在每棵完全随机树中的初步判定结果,计算每个少数类样本在完全随机森林中的权重;
[0071]
具体地,计算每个少数类样本在完全随机森林中的权重的过程为:
[0072]
s31、利用待处理不平衡数据样本集训练n
tree
棵完全随机树,对于每棵完全随机树,判断每个少数类样本所在叶子节点和该叶子节点对应的父节点的标签类型是否相同;若不相同,则初步判断该少数类样本为噪声样本;
[0073]
s32、在完全随机森林中,对于每个少数类样本,判断是否存在n
chaos
颗树将该少数类样本初步判断为噪声样本,若存在则该少数类样本的权重为0,否则该少数类样本的权重为则少数类样本的权重weight用公式表示如下:
[0074][0075]
s4、根据每个少数类样本在完全随机森林中的权重判断每个少数类样本是否为噪声样本,并从少数类样本集中过滤掉所有噪声样本,得到去噪声少数类样本集;
[0076]
如图3所示,图3中,黑色圆圈为多数类样本,三角形为少数类样本,对于abc三个少数类样本来说,根据上述步骤计算权重后,可以可视化得知c的近邻点全是异类样本,所以在s4中,c样本会被当做噪声样本过滤掉,不会参与后续种子样本的筛选。
[0077]
具体地,若少数类样本的权重为0,则判断这个少数类样本为噪声样本,从少数类样本集中过滤掉所有被判断为噪声样本的少数类样本。
[0078]
s5、根据不同过采样算法的策略从去噪声少数类样本集中筛选种子样本,对种子样本进行插值处理生成新样本;
[0079]
不同的过采样算法包括smote算法及其各种变种算法,且可以大致分为两类过采样算法:(1)预处理算法——包括smote、svm-smote、kmeans-smote、borderline-smote、adasyn等等;(2)后处理算法——包括smote-enn、smote-rsb、smote-ipf、smote-tomelink等等。在s5中,每种算法使用对应的策略来筛选种子样本(用于生成新样本的少数类样本),而其中权重为0的种子样本将不会被用于生成新样本(在上一步中已经被删除,避免噪声样本污染数据集);
[0080]
具体地,生成新样本的具体过程为:
[0081]
s51、将筛选出的种子样本汇总得到种子样本数据集,从种子样本数据集中分辨出安全样本和危险样本;具体过程为:
[0082]
用去噪声少数类样本集训练knn模型,对于任意一个种子样本s,求出这个种子样本s在所有少数类样本中的近邻点,从种子样本s的k个近邻点中随机选取一个近邻样本n,
在s和n中,令权重大的样本为安全样本ss,权重小的样本为危险样本ds,
[0083]
s52、根据安全样本和危险样本的权重确定插值位置syn,得到新样本的具体位置,生成新样本,插值位置syn的确定:
[0084]
syn=ss (ds-ss)*(weight
ds
*α)/weight
ds
weight
ss
,其中,ss表示安全样本,weight
ss
表示安全样本的权重,ds表示危险样本,weight
ds
表示危险样本的权重,α表示随机参数,取值范围为:0<α<1。
[0085]
如图4所示,提供了一个简单的示例图,其中s是种子样本,s
1-s3均为种子样本s的近邻点。如左图所示,种子样本和其近邻样本都是少数类样本。在右图中,展示了在各种情况下新样本的生成位置。在s和s1之间生成新样本时,因为s1的权重大于s,s是ds,s1是ss,所以新样本n的生成位置更靠近s1。新样本n的插值区间是s1n,具体的位置由随机数α确定。在s和s2之间生成新样本时,因为两个样本的权重相同,所以新样本n的插值区间是sn,具体的位置由随机数α确定。在s和s3之间生成新样本时,因为s的权重大于s3,s是ss,s3是ds,所以新样本的生成位置更靠近s。新样本的插值区间是sn,具体的位置由随机数α确定。本发明可以结合不同的smote算法,在不同的smoet算法中,先计算权重。
[0086]
s6、将种子样本、新样本、多数类样本集、去噪声少数类样本集进行汇总,得到采样后的平衡数据集。
[0087]
实施例2
[0088]
本实施例提供一种基于权重的不平衡数据分类过采样系统,包括数据分类采集模块、完全随机森林构造模块、权重计算模块、噪声过滤模块、种子样本筛选模块,新样本生成模块,数据整理模块;其中,
[0089]
数据分类采集模块用于对获取的待处理不平衡数据样本集进行分类,得到少数类样本集和多数类样本集;
[0090]
完全随机森林构造模块用于根据待处理不平衡数据样本自带的分类标签构造若干棵完全随机树,得到完全随机森林;并根据每棵完全随机树分别对每个少数类样本进行初步判定,判定该少数类样本是否为噪声样本;
[0091]
完全随机森林包括了n
tree
棵完全随机树,其中,完全随机森林包括了n
tree
棵完全随机树,其中,完全随机树的棵树根据所有待处理不平衡数据样本的数据维度和样本数量来确定,
[0092]ntree
=log2(dn)
[0093]
其中,n表示待处理不平衡数据样本集中所有样本的个数,d表示待处理不平衡数据样本集中所有样本的特征个数。
[0094]
权重计算模块用于根据每个少数类样本在每棵完全随机树中的初步判定结果,计算每个少数类样本在完全随机森林中的权重;
[0095]
具体地,权重计算模块中,利用待处理不平衡数据样本集训练n
tree
棵完全随机树,对于每棵完全随机树,判断每个少数类样本所在叶子节点和该叶子节点对应的父节点的标签类型是否相同;若不相同,则初步判断该少数类样本为噪声样本;
[0096]
s32、在完全随机森林中,对于每个少数类样本,判断是否存在n
chaos
颗树将该少数类样本初步判断为噪声样本,其中,若存在则该少数类样本的权重为0,否则
该少数类样本的权重为则权重用公式表示如下:
[0097][0098]
噪声过滤模块用于根据权重筛选出噪声样本,并从少数类样本集中过滤掉所有噪声样本,得到去噪声少数类样本集;将权重为0的少数类样本判断为噪声样本,从少数类样本集中过滤掉所有被判断为噪声样本的少数类样本。
[0099]
种子样本筛选模块用于根据不同过采样算法的策略从去噪声少数类样本集中筛选种子样本;
[0100]
新样本生成模块用于对种子样本进行插值处理生成新样本;
[0101]
完全随机森林构造模块、种子样本筛选模块与新样本生成模块的具体数据处理过程与实施例1中的过程一致,在此不做累述
[0102]
数据整理模块用于将得种子样本、新样本、多数类样本集、去噪声少数类样本集进行收集汇总,得到采样后的平衡数据集。
[0103]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0104]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0105]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0106]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0107]
本领域普通技术人员可以理解实现上述事实和方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,涉及的程序或者所述的程序可以存储于一计算机所可读取存储介质中,该程序在执行时,包括如下步骤:此时引出相应的方法步骤,所述的存储介质可以是rom/ram、磁碟、光盘等等。
[0108]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步
详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献