非平衡类数据的分类的制作方法

文档序号:9217194阅读:419来源:国知局
非平衡类数据的分类的制作方法
【专利说明】非平衡类数据的分类发明领域
[0001]本发明涉及数据挖掘技术,特别涉及非平衡类数据分类器的训练方法、非平衡类数据分类器和非平衡类数据分类的方法。
【背景技术】
[0002]分类是数据挖掘和机器学习中最常用的技术之一,其根据一组已知类别的对象训练得到分类器,然后将未知类别的对象应用于该分类器以确定相应的类别。在非平衡类数据中,某类样本的数量远远大于其它类样本,其中前者被称为负类数据,后者被称为正类数据。
[0003]实际应用(例如信用卡交易欺诈检测、网络入侵检测、医学疾病诊断等)中常会遇到非平衡类数据的分类问题,这类问题的共同点是少数类信息是用户关注的重点。例如在信用卡交易欺诈检测的应用中,更为关心的是欺诈客户,但是监测到的数据集中大部分是信用卡正常交易记录,非法交易所占比例很小。用于处理分类问题的现有技术有很多种,如决策树、贝叶斯网络、支持向量机等,但这些技术多针对平衡数据而设计,未考虑到正类和负类数据分布的巨大差异性,因此处理效果不佳。
[0004]目前,非平衡类数据的分类主要采用两种思路:一是改变训练集样本的分布,降低不平衡度,主要包括改变数据集分布的重采样方法,其缺点是分类效果依赖于重采样算法,而对于很多应用来说,数据集的最优分布难以确定;二是针对非平衡类数据特点构造新算法或改造现有算法(例如代价敏感学习方法、特征选择方法和单类学习方法等),代价敏感学习方法的缺点是很难对错误分类的代价给出准确的估计,使得整体性能提升得不到保障,特征选择方法更多的是适用于文本分类的问题,适用范围受到较大限制,单类学习方法的缺点是仅仅利用少数正类数据,完全忽略了负类数据中蕴涵的有用信息。
[0005]由上可见,迫切需要一种性能优秀和适用范围大的非平衡类数据处理技术。

【发明内容】

[0006]本发明的一个目的是提供一种训练非平衡类数据分类器的方法,其具有信息挖掘充分、全面和分类精度高等优点。
[0007]在按照本发明一个实施例的训练非平衡类数据分类器的方法中,由所述非平衡类数据分类器进行分类的数据具有多个属性,所述方法包含下列步骤:
[0008]将所述多个属性划分为多个属性组,每个所述属性组对应一个子分类器,每个所述子分类器适于基于对应的所述属性组对数据进行分类,使得能够根据预先设定的规则,由各个所述子分类器的分类结果得到最终的分类结果;
[0009]将训练数据样本划分为多个测试集;以及
[0010]对于每个所述属性组,利用不同的所述测试集训练对应的子分类器。
[0011]优选地,在上述方法中,将所述多个属性划分为η个属性组并且将训练数据样本划分为(η+1)个测试集,在子分类器的训练步骤中,按照下列方式训练第i个子分类器:
[0012]利用前(1-1)个子分类器对第i个测试集的训练数据样本进行分类以得到(i_l)组正类数据;
[0013]将所述(1-Ι)组正类数据的交集作为进一步的训练数据样本来训练第i个子分类器。
[0014]优选地,在上述方法中,按照随机方式将训练数据样本划分为多个测试集。
[0015]优选地,在上述方法中,利用最大召回率算法来训练第i个子分类器。
[0016]优选地,在上述方法中,按照属性之间的相关性将所述多个属性划分为多个属性组,所述相关性较大的属性被划分在不同的属性组内。
[0017]本发明的还有一个目的是提供一种非平衡类数据分类器,其具有高分类精度和分类效率等优点。
[0018]按照本发明一个实施例的非平衡类数据分类器包括:
[0019]数据接收单元;
[0020]多个子分类器,由所述非平衡类数据分类器进行分类的数据具有多个属性,所述多个属性被划分为多个属性组,每个所述属性组对应一个所述子分类器,每个所述子分类器被配置为并行地从所述数据接收单元接收数据并且基于对应的所述属性组对接收的数据进行分类;以及
[0021]与所述多个子分类器耦合的决策节点,其配置为根据预先设定的规则,由各个所述子分类器输出的分类结果得到最终的分类结果,
[0022]其中,按照下列方式训练所述非平衡类数据分类器:将训练数据样本划分为多个测试集,对于每个所述属性组,利用不同的所述测试集训练对应的子分类器。
[0023]优选地,在上述非平衡类数据分类器中,所述多个子分类器和所述决策节点在多个物理上并行的计算设备上实施。
[0024]优选地,在上述非平衡类数据分类器中,所述决策节点取各个所述子分类器输出的正类数据的交集作为最终的分类结果。
[0025]本发明的还有一个目的是提供一种非平衡类数据分类的方法,其具有高分类精度和分类效率等优点。
[0026]按照本发明一个实施例的非平衡类数据分类的方法包括下列步骤:
[0027]将待分类的数据输入多个子分类器,所述待分类的数据具有多个属性,所述多个属性被划分为多个属性组,每个所述属性组对应一个所述子分类器;
[0028]每个所述子分类器并行地基于对应的所述属性组对所述待分类的数据进行分类;以及
[0029]根据预先设定的规则,由各个所述子分类器输出的分类结果得到最终的分类结果,
[0030]其中,按照下列方式训练所述非平衡类数据分类器:将训练数据样本划分为多个测试集,对于每个所述属性组,利用不同的所述测试集训练对应的子分类器。
【附图说明】
[0031 ] 从结合附图的以下详细说明中,将会使本发明的上述和其它目的及优点更加完全清楚。
[0032]图1为按照本发明一个实施例的训练非平衡类数据分类器的方法的流程图。
[0033]图2为图1所示实施例中的子分类器训练例程的示意图。
[0034]图3为按照本发明一个实施例的非平衡类数据分类器的示意图。
[0035]图4为按照本发明一个实施例的非平衡类数据分类方法的流程图。
【具体实施方式】
[0036]下面参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,从而使对本发明保护范围的理解更为全面和准确。
[0037]诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
[0038]按照本发明的一个方面,非平衡类数据的分类基于对象属性的拆分。具体而言,所处理的数据对象一般具有多个属性,在本发明的实施例中,这些属性被划分为多个属性组,每个属性组对应于一个子分类器,不同的子分类器基于相应的属性组对数据施行分类操作,子分类器分类操作的结果按照预先设定的规则汇总后产生最终的分类结果。由于可以为针对各个属性组的子分类器设定不同的分类规则,因此属性中所蕴含的信息得以充分利用,从而提升了非平衡数据分类的精度。另外,可将多个子分类器部署到分布式系统中的不同节点上,使得每个子分类器能够基于属性组并行地对数据进行分类,这提高了处理效率,从而满足大数据量或大吞吐量的应用需求。
[0039]按照本发明的另一个方面,在分类器训练阶段采用下列训练方式:将子分类器视为按照顺序相连的级联结构,用于下一级子分类器的训练数据样本取决于前级子分类器输出的正类数据,当遍历级联结构的所有级后,每个子分类器都经过训练,由此完成整个分类器的训练。本发明的发明人发现,这种基于级联结构的训练方式能够充分提升分类器的整体性能,并且还提高了训练效率。再者,借助于级联结构,全体训练数据样本中蕴含的信息得到充分利用,提高了分类器的整体性能。
[0040]图1为按照本发明一个实施例的训练非平衡类数据分类器的方法的流程图。
[0041]如上所述,所处理的数据对象一般具有多个属性,因此如图1所示,在步骤SllO中,首先将这些属性划分为η个属性组Ap A2……Αη。优选地,属性的划分可基于属性之间的相关性,其中,相关性较大的属性尽可能被划分在不同的属性组内,以使同一属性组内的属性之间具有较小的相关性。这种划分方式的优点是使各个子分类器的分类能力均衡化。需要指出的是,在本实施例中,各个属性组内属性的数量可以不同。
[0042]随后进入步骤S120,将训练数据样本划分为m个测试集I;、T2……Tlrt。为简化处理,这里可以按照随机方式划分训练数据样本。在本实施例中,优选地,可以使属性组的数量η与测试集的数量m之间具有确定的关系,例如测试集的数量m被取值为η+1。
[0043]接着,在步骤S130中,解析得到每个测试集中的每个训练数据样本的η个属性的取值,以下将这些取值的集合又称为属性值集合。如上所述,属性被划分为η个属性组,因此每个训练数据样本的属性值集合由η个属性值子集组成,每个子集对应于η个属性组中的一个。
[0044]如上所述,每个属性组对应于一个子分类器。因此本实施例的方法流程随后进入步骤S140,执行对每个子分类器进行训练的例程。优选地,子分类器SpS2……Sn被布置成按照下标序号相连的级联结构,对于级联结构的第i个子分类器,它的训练数据样本取自前级子分类器对测试集Ti作分类处理得到的正类数据。由此,当级联结构上的所有子分类器都被遍历后,即完成了整个分类器的训练。
[0045]图2为图1所示实施例中的子分类器训练例程的示意图。这里假设将属性被划分为η个属性组Ap A2……K,训练数据样本被划分为(η+1)个测试集I;、T2……Τη,并且与属性组A2……An对应的子分类器被记为S1、S2……Sn。
[0046]图2所示的例程包括下列过程:
[0047]步骤I):首先,利用测试集Ttl对基于属性组A1的子分类器S1进行训练。即,利用测试集Ttl中训练数据样本的对应于属性组A1的属性值子集来训练子分类器S1,使得该子分类器能够基于属性组A1对数据进行准确分类。优选地,在本步骤和下面的步骤中,均采用最大召回率算法对子分类器进行训练。
[0048]步骤2a):利用在上述步骤I)中经过训练的子分类器S1,基于属性组A1对测试集T1的训练数据样本进行分类。
[0049]步骤2b)分离出分类结果中的正类数据Pn。
[0050]步骤2c):利用上述步骤2b)中得到的正类数据P11对基于属性组A2的子分类器S2进行训练,即,利用正类数据P11中每个训练数据样本的对应于属性组A2的属性值
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1