数据的分类方法及系统与流程

文档序号:12825632阅读:416来源:国知局
数据的分类方法及系统与流程

本申请涉及大数据技术,尤其涉及一种应用机器学习解决数据分类的方法及系统。



背景技术:

在征信系统的建设过程中,引入机器学习算法与评分规则结合,可以解决企业及个人信用的量化问题。

计算机根据机器学习算法,针对已标注的样本进行学习,从而,可以归纳总结出样本中的元素在不同的类别之间的分布规律或分布规则。利用归纳总结出的分布规律或分布规则,可以对未标注的样本进行分类,也就是说,将这些未标注的元素映射到所属的类别上。

现有技术中,对人群的信用数据进行分类的方法具有多种。常见的分类算法包括:决策树、贝叶斯、k近邻、支持向量机、基于关联规则、集成学习、人工神经网络。

在利用分类算法,归纳总结元素在不同的类别之间的分布规律的过程中,可以将已标注的样本作为训练集,生成与信用数据的属性有关的参数。该参数影响元素所属的类别。这些参数通常与某一中分类算法是对应的,两者合称分类模型,或者分类器。这些参数,也称为模型参数。为了表征分类器的性能,即分类算法及其对应的参数对信用数据样本分类的准确性,可以通过测试集来进行测试。当一个分类器对测试集中元素分类时,被正确分类的元素数量越多,则分类器的性能越好。

在实现现有技术过程中,发明人发现现有技术中至少存在如下问题:

人群可以根据年龄、学历、资产状况等属性划分为几个种类。通常,不同的分类器在对不同种类的信用数据分类时具有不同的性能表现。也就是说,对于同一种类的人群,不同的分类器分类的准确度不同。没有一种分类器在全局样本,也就是,全部的人群中具有绝对优势的准确度。

因此,需要提供一种对全局样本的数据的分类准确度高的技术方案。



技术实现要素:

本申请实施例提供一种对全局样本的数据的分类准确度高的技术方案。

具体的,一种数据的分类方法,包括:

选择一个已标注数据分类结果的初级训练集;

从分类算法集内选择第一分类算法;

利用所述初级训练集,对与第一分类算法对应的参数进行优化,获得满足期望的初级参数;

构建由所述第一分类算法和所述初级参数定义的一级分类器;

选择一个已标注数据分类结果的初级测试集;

利用一级分类器对初级测试集分类,生成由测试分类结果和已标注分类结果构成的次级训练集;

从分类算法集内选择第二分类算法;

利用所述次级训练集,对与第二分类算法对应的参数进行优化,获得满足期望的次级参数;

构建由所述第二分类算法和所述次级参数定义的二级分类器;

组合一级分类器和二级分类器形成组合分类器,以对数据分类;

使用组合分类器对数据分类;

其中,所述数据为多维度属性的特征向量。

本申请实施例还提供一种数据的分类系统,包括:

存储模块,用于存储已标注数据分类结果的初级训练集、初级测试集、分类算法集;

建模模块,用于:

选择一个已标注数据分类结果的初级训练集;

从分类算法集内选择第一分类算法;

利用所述初级训练集,对与第一分类算法对应的参数进行优化,获得满足期望的初级参数;

构建由所述第一分类算法和所述初级参数定义的一级分类器;

选择一个已标注信用数据的分类结果的初级测试集;

利用一级分类器对初级测试集分类,生成由测试分类结果和已标注分类结果构成的次级训练集;

从分类算法集内选择第二分类算法;

利用所述次级训练集,对与第二分类算法对应的参数进行优化,获得满足期望的次级参数;

构建由所述第二分类算法和所述次级参数定义的二级分类器;

组合一级分类器和二级分类器形成组合分类器;

分类模块,用于使用组合分类器对数据分类。

本申请实施例提供的数据的分类方法和系统,至少具有如下有益效果:

将分类准确的分类器集成到一起,可以提高分类的准确性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的数据分类的过程示意图。

图2为本申请实施例提供的初级训练集和次级训练集的关系图。

图3为本申请实施例提供的数据的分类方法流程图。

图4为本申请实施例使用的数据的分类系统的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在征信系统的建设中,势必要用到大数据技术。在大数据技术中,机器学习与数据挖掘算法是重要的一环。通过这些算法与模型对企业及个人信用进行量化的评价与预测,从而可以指导如何将资产、现金流等资源以较低的风险投入到生产中,提高生产效率。

征信系统中的数据为多维度属性的特征向量。具体的,例如,数据包括但不限于姓名、性别、年龄、职业、房产、车辆、有价证券、月收入、月消费、信用额度、逾期次数、最大逾期天数等各个维度的属性。将这些维度的属性对应的属性值或特征值数值化后可以用来量化表示企业用户或个人用户的信用水平或信用级别。

数据的分布具有聚类的规律。将人群划分为若干类别,可以用每一个类别的样本的平均信用值,来评估样本中每一个元素的信用值。这里的元素,可以指一个人。因此,样本中每一个元素的信用值的准确度,依赖于样本中元素分类的准确度。

常见的分类算法包括:决策树、贝叶斯、k近邻、支持向量机、基于关联规则、集成学习、人工神经网络。

决策树是进行分类与预测的常见方法之一。决策树方法,是从已标注数据分类结果的训练集归纳总结出分类规则。即针对样本的属性构建一棵属性类别关系树。属性类别关系树按照一定的规则,选择不同的属性作为树中的节点来构建属性和类别之间的关系。可以采用自顶而下递归构建这颗属性类别关系树。树的叶子节点便是每个类别,非叶子节点便是属性,节点之间的连线便是节点属性的不同取值范围。决策树构建后,便从决策树根节点开始从上到下对需要进行类别标注的元素,进行属性值的比较,最后到达某个叶子节点。该叶子节点所对应的类别便是该元素的类别。常用的决策树算法有id3、c4.5/c5.0、cart等。这些算法的区别主要在于,属性选择的策略、决策树的结构、是否采用剪枝以及剪枝的方法、是否处理大数据集等。属性取值范围选择合理时,分类准确性高。可以通过训练集,优化与决策树对应的属性取值范围等参数。一种可实现的方式是,选用特定参数,使得决策树方法针对训练集内的数据元素分类准确度最高。通常,一种分类算法及与分类算法对应的参数也被称为分类模型或分类器。选用更合理的参数,也就是,分类模型的优化或分类器的优化。

贝叶斯分类算法是基于概率论中的贝叶斯公式对元素进行分类的算法。该算法使用贝叶斯公式,计算元素属于每个类别的条件概率,选择条件概率最大所对应的类别作为其类别。常见的贝叶斯分类算法包括朴素贝叶斯、贝叶斯网络。朴素贝叶斯、贝叶斯网络的区别在于假设属性之间是否条件独立。朴素贝叶斯假设属性之间是条件独立的,而贝叶斯网络是假设部分属性之间是有关联的。与决策树方法类似的是,属性之间的关联性也可以认为是一种与类算法对应的参数。

k近邻算法是基于元素的分类算法。该算法首先定义一个邻居范围,即设定邻居的个数。然后,采用投票的方式来决定元素所属的类别,即多数战胜少数的策略。元素的类别为邻居元素中大部分所对应的类别。一般都是采用欧式距离,即选取欧式距离最近的k个已标注类别的样本作为自己的邻居。既可以采取邻居平等投票的方式,也可以采取邻居权重值的方式进行投票。采取邻居权重值的方式进行投票,即不同的邻居的意见有着不同的权重。一般距离越近的邻居权重越大。同样,这里的邻居的个数,也可以认为是一种与分类算法对应的参数。

对于支持向量机、基于关联规则的分类器、集成学习、人工神经网络等分类算法而言,训练样本误差、分类误差、属性的权重值等可以认为是与分类算法对应的参数。

通过训练集,对分类算法对应的参数进行优化,可以提高数据分类的准确性。

请参照图1,为本申请实施例提供的数据的分类方法,具体包括以下步骤:

s01:选择一个已标注数据分类结果的初级训练集。

表1

表1为已标注数据分类结果的数据集合的示意列表。在该列表中,所有用户的数据集合作为一个样本,而对应的,一个用户可以作为样本的一个元素。每一个元素可以具有年龄、职位等多个维度的属性。可以将样本中的每一个元素的分类结果予以标注,例如以c1、c2、c3方式予以标注。具体的,c1、c2、c3可以取0值或取1值。

这里选择的初级训练集可以是数据集合中随机抽取的一部分。

s02:从分类算法集内选择第一分类算法。

分类算法集是适于分类的算法的集合。分类算法集可以包括决策树、贝叶斯分类器、k近邻、支持向量机、基于关联规则的分类器、集成学习、人工神经网络等多种算法。前面已经对决策树算法、贝叶斯分类器算法、k近邻算法做了简要说明,而支持向量机、基于关联规则的分类器、集成学习、人工神经网络等其余算法在机器算法领域均有专门的著作加以说明,这里则不再赘述。本申请实施例在该步骤中,从中选出一个算法。当然,也可以重复的进行,从而选出多个分类算法。

s03:利用所述初级训练集,对与第一分类算法对应的参数进行优化,获得满足期望的初级参数。

对于决策树算法而言,属性值或特征值的取值范围对数据元素的分类结果具有影响。进一步的,不同的属性对数据元素的分类结果可以具有不同程度的影响。在使用决策树算法进行归纳总结出分类规则的过程中,可以假设属性值的一系列的取值范围,也可以假设不同属性的一系列的权重值。迭代计算出属性值最优的取值范围,或不同属性的最优权重值,以使决策树的分类算法对初级训练集的数据元素的分类准确率满足期望值,或者以使决策树的分类算法对初级训练集的数据元素的分类准确率最高。

对于贝叶斯分类器算法而言,不同属性之间的关联性对数据元素的分类结果具有影响。进一步的,不同的属性对数据元素的分类结果可以具有不同程度的影响。在使用决策树算法进行归纳总结出分类规则的过程中,可以假设某些属性之间的一系列的相关度,也可以假设不同属性的一系列的权重值。迭代计算出属性之间的最优的相关度系数,或不同属性的最优权重值,以使贝叶斯分类器算法对初级训练集的数据元素的分类准确率满足期望值,或者以使贝叶斯分类器算法对初级训练集的数据元素的分类准确率最高。

对于k近邻算法而言,数据元素的邻居的个数对数据元素的分类结果具有影响。进一步的,不同的属性对数据元素的分类结果可以具有不同程度的影响。在使用k近邻算法进行归纳总结出分类规则的过程中,可以假设邻居的个数的一系列的取值范围,也可以假设不同属性的一系列的权重值。迭代计算出邻居的个数最优的取值,或不同属性的最优权重值,以使k近邻的分类算法对初级训练集的数据元素的分类准确率满足期望值,或者以使k近邻的分类算法对初级训练集的数据元素的分类准确率最高。

当然,对于其他分类算法而言,例如支持向量机、基于关联规则的分类器、集成学习、人工神经网络等,与上面介绍的分类算法对应的参数可以相同,也可以不同。最终,通过初级训练集对分类算法的使用,可以获得与第一分类算法对应的、满足期望的初级参数。对于支持向量机的分类算法而言,初级参数可以包括训练样本误差、分类误差等。对于基于关联规则的分类器、集成学习、人工神经网络等的分类算法而言,初级参数可以包括属性的权重值。

s04:构建由所述第一分类算法和所述初级参数定义的一级分类器。

正如上面所列举的,不同的分类算法之间往往具有一些特殊种类的初级参数,有的分类算法之间还可以具有共同的初级参数。分类算法及与其对应的初级参数,可以构成对于数据样本起分类作用的分类器,或者分类模型。这些初级参数,也可以认为是分类模型的模型参数。

s05:选择一个已标注数据分类结果的初级测试集。

本申请实施例中,可以选择一个已标注数据分类结果的数据集合,以测试分类器的分类的准确性。

进一步的,在本申请提供的又一实施例中,还提供一种初级测试集的选择方法。具体的,将数据集合随机划分为样本容量相等的n个子数据集合;

取其中一个子数据集合作为所述初级测试集;

设定剩余的n-1个子数据集合为所述初级测试集对应的初级训练集。

s06:利用一级分类器对初级测试集分类,生成由测试分类结果和已标注分类结果构成的次级训练集。

在本申请实施例提供的一种可实现的方式中,将数据集合s,随机划分数据为大体相同的j份子数据集合。从中选择一份子数据集合sj作为初级测试集,剩余的j-1份子数据集合作为与初级测试集对应的初级训练集。从分类算法集{z1,z2,……zk}内,依次选择第k,k∈(1,k)个算法,然后用初级训练集进行训练,获得一个分类器,或者叫分类模型其中-j表示用第j份子数据集合sj,作为初级测试集,除sj外的j-1份子数据集合作为训练集。然后,用初级测试集测试分类器可以获得一个分类结果zk,j。zk,j表示用第k个算法对应的一级分类器对第j份子数据集合sj的分类结果。可以将测试分类结果和已标注分类结果构成次级训练集,即{z1,j,z2,j,……zk,j,yj}。其中yj表示第j份子数据集合sj已标注的分类结果。

s07:从分类算法集内选择第二分类算法。

同步骤s02类似,这里可以选择出另一种分类算法。当然,这里的分类算法可以是决策树、贝叶斯分类器、k近邻、支持向量机、基于关联规则的分类器、集成学习、人工神经网络中的一种算法中的一种。

s08:利用所述次级训练集,对与第二分类算法对应的参数进行优化,获得满足期望的次级参数。

同步骤s03类似,这里可以获得满足期望的初级参数。这里的次级参数可以包括测试分类结果的取值范围、测试分类结果的之间的关联性、测试分类结果的邻居的个数、测试分类结果的训练样本误差、测试分类结果的分类误差、测试分类结果的权重值中至少一种。

s09:构建由所述第二分类算法和所述次级参数定义的二级分类器。

同步骤s04类似,这里可以获得由第二分类算法和次级参数定义的二级分类器。

s10:组合一级分类器和二级分类器形成组合分类器,以对数据分类。

进一步的,在本申请提供的又一实施例中,组合一级分类器和二级分类器形成组合分类器,以对数据分类,具体包括:重复从分类算法集内抽取两种分类算法,分别构建不同的待定组合分类器;

选择一个已标注数据分类结果的次级测试集;

统计不同的待定组合分类器对次级测试集分类的准确性;

选定准确性最高的待定组合分类器;

使用选定的组合分类器对数据分类。

初级参数是对数据的属性限定的参数。次级参数是对测试分类结果和已标注的分类结果限定的参数,最终,仍然是对数据的属性限定的参数。因此,组合分类器所对应的参数仍然是对数据的属性限定的参数。组合分类器可以对数据分类。

s11:使用组合分类器对数据分类。

在本申请提供的实施例中,利用所述初级训练集,对与第一分类算法对应的参数进行优化,获得满足期望的初级参数,构建由第一分类算法和初级参数定义的一级分类器,通过该步骤可以获得每一种分类算法对应的优化的一级分类器。进一步的,利用一级分类器对初级测试集分类,生成测试分类结果,从而可以选择测试分类结果中准确率最高的一级分类器,也就是说,通过该步骤可以获得多种分类算法中最优的一级分类器。更进一步的,利用次级训练集,对与第二分类算法对应的参数进行优化,获得满足期望的次级参数;构建由所述第二分类算法和所述次级参数定义的二级分类器,通过该步骤可以获得与一级分类器具有最强互补性的二级分类器,也就是说,通过这些步骤的结合,最终获得了分类准确性最高的组合分类器。

以上是本申请实施例提供的数据的分类方法,基于同样的思路,请参照图4,本申请还提供一种数据的分类系统1,包括:

存储模块11,用于存储已标注数据分类结果的初级训练集、初级测试集、分类算法集;

建模模块12,用于:

选择一个已标注数据分类结果的初级训练集;

从分类算法集内选择第一分类算法;

利用所述初级训练集,对与第一分类算法对应的参数进行优化,获得满足期望的初级参数;

构建由所述第一分类算法和所述初级参数定义的一级分类器;

选择一个已标注数据分类结果的初级测试集;

利用一级分类器对初级测试集分类,生成由测试分类结果和已标注分类结果构成的次级训练集;

从分类算法集内选择第二分类算法;

利用所述次级训练集,对与第二分类算法对应的参数进行优化,获得满足期望的次级参数;

构建由所述第二分类算法和所述次级参数定义的二级分类器;

组合一级分类器和二级分类器形成组合分类器;

分类模块13,用于使用组合分类器对数据分类。

进一步的,在本申请提供的又一实施例中,存储模块11,存储已标注数据的分类结果的数据集合;

建模模块12,用于:

将数据集合随机划分为样本容量相等的j个子数据集合;

取其中一个子数据集合作为所述初级测试集;

设定剩余的j-1个子数据集合为所述初级测试集对应的初级训练集。

进一步的,在本申请提供的又一实施例中,第一分类算法至少包括决策树、贝叶斯分类器、k近邻、支持向量机、基于关联规则的分类器、集成学习、人工神经网络中的一种算法;

初级参数至少包括属性的取值范围、属性之间的关联性、邻居的个数、训练样本误差、分类误差、属性的权重值中至少一种。

进一步的,在本申请提供的又一实施例中,第二分类算法至少包括决策树、贝叶斯分类器、k近邻、支持向量机、基于关联规则的分类器、集成学习、人工神经网络中的一种算法;

次级参数至少包括测试分类结果的取值范围、测试分类结果的之间的关联性、测试分类结果的邻居的个数、测试分类结果的训练样本误差、测试分类结果的分类误差、测试分类结果的权重值中至少一种。

进一步的,在本申请提供的又一实施例中,所述建模模块12,用于:组合一级分类器和二级分类器形成组合分类器,以对数据分类,具体用于:

重复从分类算法集内抽取两种分类算法,分别构建不同的待定组合分类器;

选择一个已标注数据的分类结果的次级测试集;

统计不同的待定组合分类器对次级测试集分类的准确性;

选定准确性最高的待定组合分类器;

使用选定的组合分类器对数据分类。

在本申请提供的实施例中,在本申请提供的实施例中,利用所述初级训练集,对与第一分类算法对应的参数进行优化,获得满足期望的初级参数,构建由第一分类算法和初级参数定义的一级分类器,通过该步骤可以获得每一种分类算法对应的优化的一级分类器。进一步的,利用一级分类器对初级测试集分类,生成测试分类结果,从而可以选择测试分类结果中准确率最高的一级分类器,也就是说,通过该步骤可以获得多种分类算法中最优的一级分类器。更进一步的,利用次级训练集,对与第二分类算法对应的参数进行优化,获得满足期望的次级参数;构建由所述第二分类算法和所述次级参数定义的二级分类器,通过该步骤可以获得与一级分类器具有最强互补性的二级分类器,也就是说,通过这些步骤的结合,最终获得了分类准确性最高的组合分类器。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数值处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数值处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数值处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数值处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数值结构、程序的模块或其他数值。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数值信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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