决策树的构建方法和装置、存储介质及电子装置与流程

文档序号:30508362发布日期:2022-06-25 01:04阅读:151来源:国知局
决策树的构建方法和装置、存储介质及电子装置与流程

1.本技术涉及计算机领域,具体而言,涉及一种决策树的构建方法和装置、存储介质及电子装置。


背景技术:

2.目前,决策树模型可以应用到多种场景中,例如,样本分类、风险控制等。常用的决策树构建方式为:在既定参数范围内自动构建决策树的过程中,通过模型优化筛选出符合模型构建要求的模型。模型优化的方式主要是超参数搜索(例如,网格搜索),即,在给定的超参数范围内遵循某种既定条件逐一尝试取值,来达到搜索最优模型的目的。
3.以网格搜索为例,网格搜索是通过给出较大的搜索范围以及较小的步长,查找搜索范围内的所有的点,来确定最优值。
4.随着数据的不断增加,通过上述方式构建的决策树模型很难解释模型的合理性,此外,构建的决策树模型有可能随着时间的推移而快速失效。由此可见,相关技术中的决策树构建方式,存在无法保证决策树模型的合理性及稳定性的问题。


技术实现要素:

5.本技术实施例中提供了一种决策树的构建方法和装置、存储介质及电子装置,以至少解决相关技术中的决策树构建方式存在无法保证决策树模型的合理性及稳定性的技术问题。
6.根据本技术实施例的一个方面,提供了一种决策树的构建方法,包括:获取多个超参数字典,以及获取训练样本集,其中,所述多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,所述训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;使用所述多个超参数字典中的每个超参数字典和所述训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,所述多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与所述一组属性中的一个属性对应;从所述多个决策树中筛选出至少一个候选决策树,其中,所述至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件;根据所述每个候选决策树的目标评估参数,从所述至少一个候选决策树选取目标决策树。
7.根据本技术实施例的另一个方面,还提供了一种决策树的构建装置,包括:获取单元,用于获取多个超参数字典,以及获取训练样本集,其中,所述多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,所述训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;构建单元,用于使用所述多个超参数字典中的每个超参数字典和所述训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,所述多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与所述一组属性中的一个属性对应;筛选单元,用于从所述多个决策树中筛选出至少一个候选决策树,其中,所述至少一个候选决策树中的每个候选决策树包含的
一组节点满足目标节点条件;选取单元,用于根据所述每个候选决策树的目标评估参数,从所述至少一个候选决策树选取目标决策树。
8.在一个示例性实施例中,所述获取单元,包括:生成模块,用于生成随机状态值队列,其中,所述随机状态值队列包含互不相同的多个随机状态值;组合模块,用于从所述随机状态值队列中分别选取随机状态值与所述一组预设超参数进行组合,得到所述多个超参数字典。
9.在一个示例性实施例中,所述构建单元,包括:构建模块,用于使用所述多个超参数字典中的每个超参数字典分别作为决策树的超参数字典进行决策树构建,得到多个初始决策树;训练模块,用于使用所述训练样本集分别对所述多个初始决策树中的每个初始决策树进行训练,得到所述多个决策树,其中,在使用所述训练样本集对所述每个初始决策树进行训练的过程中仅做一次迭代,得到一个决策树。
10.在一个示例性实施例中,所述筛选单元,包括:第一确定模块,用于根据第一样本集中的每个第一样本包含的所述一组属性的属性值,确定所述每个决策树的每个叶子节点下的第一样本;第二确定模块,用于根据第二样本集中的每个第二样本包含的所述一组属性的属性值,确定所述每个决策树的每个叶子节点下的第二样本;第一筛选模块,用于根据与所述每个决策树对应的第一占比和与所述每个决策树对应的第二占比,从所述多个决策树中筛选出所述至少一个候选决策树,其中,与所述每个决策树对应的第一占比为所述每个决策树的每个叶子节点下的第一样本中目标样本的占比,与所述每个决策树对应的第二占比为所述每个决策树的每个叶子节点下的第二样本中所述目标样本的占比,所述目标样本为具有目标标签的样本,与所述每个候选决策树对应的第一占比和与所述每个候选决策树对应的第二占比一致。
11.在一个示例性实施例中,所述第一筛选模块,包括:第一排序子模块,用于按照与所述每个决策树对应的第一占比对所述每个决策树的每个叶子节点进行排序,得到与所述每个决策树对应的第一排序结果;第二排序子模块,用于按照与所述每个决策树对应的第二占比对所述每个决策树的每个叶子节点进行排序,得到与所述每个决策树对应的第二排序结果;筛选子模块,用于从所述多个决策树中筛选出对应的第一排序结果和对应的第二排序结果相同的决策树,得到所述至少一个候选决策树。
12.在一个示例性实施例中,所述筛选单元,包括:第二筛选模块,用于从所述多个决策树中筛选出一组中间决策树,其中,所述一组中间决策树的每个中间决策树均包含与所述一组属性中的目标属性对应的目标节点,所述每个中间决策树包含与所述目标节点对应的多个目标分支,所述多个目标分支中的每个目标分支对应于所述目标属性的一个属性值;第三确定模块,用于根据第三样本集中的每个第三样本包含的所述一组属性的属性值,分别确定属于所述每个中间决策树的所述每个目标分支的第三样本中,目标样本的占比,得到与所述每个中间决策树的所述每个目标分支对应的第三占比,其中,所述目标样本为具有目标标签的样本;第三筛选模块,用于根据与所述每个中间决策树的所述每个目标分支对应的第三占比,从所述一组中间决策树中筛选出所述至少一个候选决策树,其中,与所述每个候选决策树的所述每个目标分支对应的第三占比的大小顺序与预设顺序相同。
13.在一个示例性实施例中,所述选取单元,包括:排序模块,用于按照所述每个候选决策树的目标评估参数的评估参数值,对所述至少一个候选决策树进行排序,得到第三排
序结果;第四确定模块,用于将所述第三排序结果中位于目标位置上的候选决策树,确定为所述目标决策树。
14.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述决策树的构建方法。
15.根据本技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的决策树的构建方法。
16.在本技术实施例中,采用根据包含随机状态值的超参数字典生成多个决策树,并根据决策树的节点特征从多个决策树中选取目标决策树的方式,通过获取多个超参数字典,以及获取训练样本集,其中,多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应;从多个决策树中筛选出至少一个候选决策树,其中,至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件;根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树,由于在进行决策树构建时仅做一次迭代,可以保证构建出的决策树模型的合理性,避免多次迭代时构建决策树所使用的样本为已构建决策树的错误样本导致无法保证构建出的决策树的合理性,同时,对于构建出的决策树,使用决策树的节点特征从多个决策树中筛选包含的一组节点满足设定节点条件的决策树,可以根据决策树内部节点情况进行筛选和优化,从而达到提高生成的决策树的合理性以及稳定性的技术效果,进而解决了相关技术中的决策树构建方式存在无法保证决策树模型的合理性及稳定性的技术问题。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1是根据本技术实施例的一种可选的决策树的构建方法的硬件环境的示意图;
20.图2是根据本技术实施例的一种可选的决策树的构建方法的流程示意图;
21.图3是根据本技术实施例的一种可选的决策树的构建方法的示意图;
22.图4是根据本技术实施例的一种可选的判断决策树稳定性的流程示意图;
23.图5是根据本技术实施例的一种可选的决策树的构建装置的结构框图;
24.图6是根据本技术实施例的一种可选的电子装置的结构框图。
具体实施方式
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的
附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.根据本技术实施例的一个方面,提供了一种决策树的构建方法。可选地,在本实施例中,上述决策树的构建方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务。
28.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑等。
29.本技术实施例的决策树的构建方法可以由服务器104来执行,也可以由终端设备102来执行,还可以是由服务器104和终端设备102共同执行。其中,终端设备102执行本技术实施例的决策树的构建方法也可以是由安装在其上的客户端来执行。
30.以由服务器104来执行本实施例中的决策树的构建方法为例,图2是根据本技术实施例的一种可选的决策树的构建方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
31.步骤s202,获取多个超参数字典,以及获取训练样本集,其中,多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值。
32.本实施例中的决策树的构建方法可以应用在构建决策树或者是生成决策树的场景。在部分领域,例如,大数据风控领域,不仅需要使得构建出的决策树模型(例如,风控模型)满足准确性,还需要保证构建出的决策树模型的合理性和稳定性,例如,稳定性和可解释性。然而,随着数据规模的不断增长,依靠传统的决策树算法越来越难以把握模型的准确性和其他特性(例如,稳定性和可解释性)之间的平衡。
33.例如,以风控模型为例,某一产品积累了大量数据后,分析发现其客群分布可能与预期不符,若直接选择k-s(kolmogorov

smirnov,柯尔莫可洛夫-斯米洛夫)或auc(area under curve,曲线下面积)最优的决策树模型作为风控模型而不考虑专家经验和行业常识,则有可能完全无法解释模型的合理性,并且很有可能随着时间的推移而快速失效。但若仅考虑稳定性或可解释性,人工构建出的模型却很难保证具有良好的风险识别能力。
34.在本实施例中,为了至少部分克服上述问题,提供了一种自动构建并筛选决策树的方案,在构建决策树模型时,可以首先构建多个决策树,并根据决策树的节点特征筛选出满足合理性、稳定性、可解释性等要求的决策树,并从筛选出的决策树选取出满足准确性条件的决策树作为最终的决策树,由于考虑了节点特征,可以保证构建出的决策树满足准确性条件的同时,满足其他如合理性等要求。
35.在进行决策树构建时,目标服务器(服务器104的一种示例)可以根据超参数字典生成决策树,可选地,目标服务器可以获取多个超参数字典,以及获取训练样本集,上述多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值。
36.决策树的超参数字典可以包括多种超参数,对于不同类型的决策树,其包含的超参数可以是相同的,也可以是不同的,上述多种超参数可以包括但不限于以下至少之一:
37.(1)criterion,特征选择标准;
38.(2)splitter,特征划分标准;
39.(3)max_depth,决策树最大深度;
40.(4)min_samples_split,内部节点(即,判断条件)再划分所需最小样本数,默认值为2;
41.(5)min_samples_leaf:叶子节点(即,分类)最少样本数;
42.(6)min_weight_fraction_leaf:叶子节点(即分类)最小的样本权重和;
43.(7)max_features:在划分数据集时考虑的最多的特征值数量;
44.(8)random_state(即,随机状态值);
45.(9)max_leaf_nodes,最大叶子节点数;
46.(10)min_impurity_decrease,节点划分最小不纯度;
47.(11)class_weight,类别权重。
48.随机状态值可以是上述“random_state”,上述预定超参数可以是上述超参数中除了“random_state”以外的其他一种或多种超参数,可以包括但不限于以下至少之一:决策树的最大深度,叶子节点数量,叶子节点所含最小样本数量,样本随机采样比例等超参数。可选地,上述预定超参数可以用户自行设定的,也可以是目标服务器根据用户的需求设定的,本实施例中对此不做限定。
49.这里,训练样本集可以是构建决策树模型的训练集,可以包含多个训练样本(比如,训练对象),每个训练样本具有一组属性的属性值。上述一组属性可以是一组样本属性(对象属性),例如,性别,年龄,工作,收入段等,还可以包含其他属性,本实施例中对于属性的属性类型不做限定。
50.可选地,构建的决策树是与目标行为对应的决策树,用于决策是否对当前对象执行目标行为,每个训练对象还具有与决策树的决策任务对应的样本标签(比如,行为标签)。每个训练样本的样本标签可以用于指示在对训练样本执行目标行为之后,训练样本是否执行目标行为的关联行为。
51.示例性地,目标行为是预支交换资源,关联行为是在预定时间段内归还交换资源、或者归还交换资源以及与目标行为对应的增益资源,或者,关联行为是在分批次归还交换资源、或者归还交换资源以及与目标行为对应的增益资源的过程中,在某一批次归还资源
的期限内,归还该批次的资源。
52.步骤s204,使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应。
53.在本实施例中,目标服务器在获取多个超参数字典以及获取训练样本集之后,可以使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,可选地,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应。
54.相关技术中,在使用一个超参数字典构建决策树时,会进行多次迭代,每次迭代会使用上一次迭代所得到的决策树的错误样本进行决策树构建,而在错误的样本的数量少于设定的数量值时,停止迭代。例如,当总的训练样本数为200个,设定的停止迭代的条件为错误的样本数小于20个时,第一次迭代生成一个决策树1,200个训练样本中,决策树1所给出的分类结果与标注一致的训练样本有50个,此时,错误的训练样本有150个,不满足迭代停止的条件。第二次迭代时,将会使用错误的150个训练样本重新进行决策树构建,若第二次迭代生成的一个新的决策树2,150个训练样本中,决策树2所给出的分类结果与标注一致的训练样本有70个,此时,错误的训练样本有80个,不满足迭代停止的条件,将会进行第三次的迭代。以此类推,若第5次迭代生成的决策树为决策树5,剩余的训练样本中,决策树5所给出的分类结果与标注一致的训练样本有30个,错误的训练样本有10个,迭代停止的条件,此时停止迭代。
55.在上述迭代的过程中,由于下一次迭代使用是上一次迭代的错误样本进行决策树构建,使得无法解释构建出的决策树的合理性等。本实施例中,在进行决策树构建的过程中仅做一次迭代,通过限制其迭代次数为1来达到每次生成一棵决策树的效果,由于模型构建使用的都是初始的训练样本,而不是筛选后的训练样本,可以方便解释构建出的决策树的合理性等。
56.需要说明的是,上述决策树为机器学习算法的一种,其数据结构为树,其中每一个非叶子节点表示一个特征上的判断,每个分支表示一个判断结果的输出,每个叶子节点表示具有相同特征序列的样本。
57.步骤s206,从多个决策树中筛选出至少一个候选决策树,其中,至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件。
58.本实施例中,在得到多个决策树之后,可以从上述多个决策树中确定出候选决策树,可选地,确定候选决策树的过程,可以是从多个决策树中筛选出包含的一组节点满足目标节点条件的决策树,得到至少一个候选决策树。
59.可选地,可以判断决策树包含的一组节点是否具有目标节点特征,并将具有目标节点特征的决策树,确定为候选决策树。上述目标节点特征可以表示决策树的合理性,其可以表征决策树的可解释性、稳定性等。上述目标节点特征可以是与决策树的叶子节点相关的特征,也可以是与非叶子节点相关的特征,还可以是基于决策树中所包含的节点所得到样本特征,本实施例中对此不做限定。对于不同的业务场景,其所对应的节点特征的种类和特征信息可以是不同的,只要是可以基于决策树包含的一组节点可以确定的节点特征即可。
60.例如,可以是根据决策树包含的一组节点中的内部节点的节点特征,判断决策树是否满足稳定性和可解释性的要求,将多个决策树中,满足稳定性和可解释性要求的决策树,确定为候选决策树。
61.步骤s208,根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树。
62.在本实施例中,在得到至少一个候选决策树之后,目标服务器可以根据在至少一个候选决策树中,确定出目标决策树。可选地,可以根据至少一个候选决策树中的每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树。上述目标评估参数可以是k-s参数或者是auc参数,还可以是其他用于评估决策树的准确性的参数。
63.可选地,可以将至少一个候选决策树中,目标评估参数所指示的最优决策树,确定出目标决策树。例如,可以将至少一个候选决策树的每个候选决策树,按照目标评估参数从最优至最差进行排序,将排序的第一个决策树,确定为目标决策树,还可以是按照目标评估参数从最差至最优进行排序,将排序的最后一个决策树,确定为目标决策树。本实施例中对于目标评估参数、以及确定最优决策树的方式不做限定。
64.通过上述步骤s202至步骤s208,获取多个超参数字典,以及获取训练样本集,其中,多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应;从多个决策树中筛选出至少一个候选决策树,其中,至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件;根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树,解决了相关技术中的决策树构建方式存在无法保证决策树模型的合理性及稳定性的技术问题,保证了决策树模型的合理性及稳定性,提升了用户的使用体验。
65.在一个示例性实施例中,获取多个超参数字典,包括:
66.s11,生成随机状态值队列,其中,随机状态值队列包含互不相同的多个随机状态值;
67.s12,从随机状态值队列中分别选取随机状态值与一组预设超参数进行组合,得到多个超参数字典。
68.在本实施例中,目标服务器可以生成随机状态值队列,其中,随机状态值队列包含互不相同的多个随机状态值。可选地,可以根据样本数据的规模和所需生成的决策树的最大深度、叶子节点数量等条件生成随机状态值队列。
69.本实施例中,对于随机状态值队列的大小和元素取值范围不做限定,但随机状态值队列需要取值唯一,也就是说,上述随机状态值队列中不存在相同的随机状态值。此外,上述随机状态值队列的大小与样本数据的规模和所需生成的决策树的最大深度、叶子节点数量成正比,即,当样本数据的规模大且决策树的最大深度、叶子节点数量多时,上述随机状态值队列大小可以较大,反之,则上述随机状态值队列大小可以较小。一般地,2000到4000个随机状态值即可满足大部分建模需求。
70.在生成随机状态值队列之后,目标服务器可以从随机状态值队列中分别选取随机
状态值,选取出的各个随机状态值与一组预设超参数进行组合,得到多个超参数字典。生成的超参数字典的个数与随机状态值队列中包含的随机状态值个数可以是一一对应的。例如,当随机状态值队列中包含10个随机状态值时,可以生成10个超参数字典。这里,随机状态值队列中的随机状态值可以是按照需要自动生成的,本实施例中在此不做限定。
71.通过本实施例,将随机状态值队列中的各个随机状态值设置为互不相同,可以使得生成的决策树互不相同,提高决策树构建的合理性和便捷性。
72.在一个示例性实施例中,使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,包括:
73.s21,使用多个超参数字典中的每个超参数字典分别作为决策树的超参数字典进行决策树构建,得到多个初始决策树;
74.s22,使用训练样本集分别对多个初始决策树中的每个初始决策树进行训练,得到多个决策树,其中,在使用训练样本集对每个初始决策树进行训练的过程中仅做一次迭代,得到一个决策树。
75.在本实施例中,目标服务器可以使用多个超参数字典中的每个超参数字典分别作为决策树的超参数字典进行决策树构建,得到多个初始决策树。
76.上述使用超参数字典构建初始决策树的过程,可以是将超参数字典输入到梯度提升模型的构建方法中,以生成决策树模型,梯度提升模型还可以是xgboost(extreme gradient boosting,极致梯度提升)模型或者是light-gbm(light gradient boosting machine,光场梯度的提升机)模型,本实施例中对此不做限定。
77.这里,梯度提升模型为一种利用梯度提升技术的模型,上述梯度提升技术是一种用于回归和分类问题的机器学习技术,其产生的预测模型是弱预测模型的集成。它以分阶段的方式构建弱预测模型,并在最终组合为一个强学习器。
78.在得到多个初始决策树之后,可以训练样本集分别对多个初始决策树中的每个初始决策树进行训练,得到多个决策树。在使用训练样本集对每个初始决策树进行训练的过程中仅做一次迭代,得到一个决策树,那么,得到的决策树的数量与随机状态值队列中的随机状态值、以及超参数字典的数量相同。
79.例如,当随时状态值队列中包含10个随机状态值时,服务器(目标服务器的一种示例)可以生成10个超参数字典,并根据上述超参数字典构建10个初始决策树,再使用训练样本集对上述初始决策树进行训练,生成10棵决策树。
80.通过本实施例,使用每一个超参数字典分别进行决策树构建,得到对应的一个决策树,在使用训练集进行决策树构建时仅做一次迭代,可以减少决策树构建的资源消耗,加快构建决策树的速度。
81.在一个示例性实施例中,目标节点条件可以包括与决策树的叶子节点相关的第一节点条件,第一节点条件可以是叶子节点下目标样本的占比一致,目标样本为具有目标标签的样本,即,决策树对于不同样本集合进行样本划分,划分到各个叶子节点中的目标样本具有稳定性。这里,每个叶子节点下为具有一组相同属性值的样本的集合,比如,相同性别、相同年龄段、相同收入段等的训练对象,其不一定是一组属性中的所有属性的属性值均相同,这是因为决策树涉及到节点的剪枝等并不是每个分支均包含所有的属性。目标标签可以用于指示执行前述关联行为。
82.可选地,叶子节点下目标样本的占比一致可以是第一样本集中在每个叶子节点下的第一样本中的目标样本的占比与第二样本集中的第二样本在每个叶子节点下的第二样本中的目标样本的占比一致,第一样本集可以是前述训练样本集,第二样本集为验证集(即,验证样本集)。对应地,从多个决策树中筛选出至少一个候选决策树,包括:
83.s31,根据第一样本集中的每个第一样本包含的一组属性的属性值,确定每个决策树的每个叶子节点下的第一样本;
84.s32,根据第二样本集中的每个第二样本包含的一组属性的属性值,确定每个决策树的每个叶子节点下的第二样本;
85.s33,根据与每个决策树对应的第一占比和与每个决策树对应的第二占比,从多个决策树中筛选出至少一个候选决策树,其中,与每个决策树对应的第一占比为每个决策树的每个叶子节点下的第一样本中目标样本的占比,与每个决策树对应的第二占比为每个决策树的每个叶子节点下的第二样本中目标样本的占比,目标样本为具有目标标签的样本,与每个候选决策树对应的第一占比和与每个候选决策树对应的第二占比一致。
86.在本实施例中,对于每个决策树,目标服务器可以根据第一样本集中的每个第一样本包含的一组属性的属性值,确定每个决策树的每个叶子节点下的第一样本、以及每个决策树的每个叶子节点下的第一样本中目标样本的占比(即,第一占比)。目标服务器还可以根据第二样本集中的每个第二样本包含的一组属性的属性值,确定每个决策树的每个叶子节点下的第二样本、以及每个决策树的每个叶子节点下的第二样本中目标样本的占比(即,第二占比)。通过对每个决策树执行上述操作,可以得到与每个决策树对应的第一占比和与每个决策树对应的第二占比。
87.在确定出与每个决策树对应的第一占比和第二占比之后,目标服务器可以根据与每个决策树对应的第一占比和与每个决策树对应的第二占比,从多个决策树中筛选出至少一个候选决策树。与每个候选决策树对应的第一占比和与每个候选决策树对应的第二占比一致。这里,占比一致可以是指占比的顺序一致,也可以是指占比的差值小于或者等于差值阈值,本实施例中对此不做限定。
88.通过本实施例,根据训练集和验证集中的样本在决策树的各叶子节点上目标样本的占比是否一致进行决策树筛选,可以保证决策树对应相同属性的预测对象的预测结果的问题,从而提高构建的决策树的稳定性。
89.在一个示例性实施例中,根据与每个决策树对应的第一占比和与每个决策树对应的第二占比,从多个决策树中筛选出至少一个候选决策树,包括:
90.s41,按照与每个决策树对应的第一占比对每个决策树的每个叶子节点进行排序,得到与每个决策树对应的第一排序结果;
91.s42,按照与每个决策树对应的第二占比对每个决策树的每个叶子节点进行排序,得到与每个决策树对应的第二排序结果;
92.s43,从多个决策树中筛选出对应的第一排序结果和对应的第二排序结果相同的决策树,得到至少一个候选决策树。
93.在本实施例中,在从多个决策树中筛选出候选决策树时,对于当前决策树,目标服务器可以是先按照与每个决策树对应的第一占比对每个决策树的每个叶子节点进行排序,得到与每个决策树对应的第一排序结果。目标服务器也可以按照与前述类似的方式按照与
每个决策树对应的第二占比对每个决策树的每个叶子节点进行排序,得到与每个决策树对应的第二排序结果。对当前决策树的每个叶子节点进行排序的过程可以是对每个叶子节点按照目标样本的占比由小到大、或者由大到小的顺序进行排序,也可以是其他的排序方式,本实施例中对此不做限定。
94.在得到与每个决策树对应的第一排序结果和与每个决策树对应的第二排序结果之后,目标服务器可以从多个决策树中筛选出对应的第一排序结果和对应的第二排序结果相同的决策树,得到至少一个候选决策树,即,与每个候选决策树对应的第一排序结果和与每个候选决策树对应的第二排序结果是一致的。
95.这里,根据第一排序结果和第二排序结果筛选决策树的过程可以是直接筛选第一排序结果和第二排序结果相同的决策树,也可以是将第一排序结果和第二排序结果相同作为一个筛选指标(稳定性条件),结合其他筛选指标(例如,可解释性条件)共同筛选决策树。本实施例中对此不做限定。
96.例如,如图3所示,决策树m(任一个决策树)的叶子节点依照路径顺序从左至右依次标记为l1、l2、l3直至ln,其中,n为定义的叶子节点数量。按照训练集中的每个训练样本的样本属性,其可以对应于决策树m中的一个叶子节点(可以认为是通过决策树m对训练样本进行预测,得到训练样本的预测结果),此时可以得到决策树m的每个叶子节点下的训练样本,统计每个叶子节点下样本的目标样本占比。目标样本在l1下的占比为p1,在l2下的占比为p2,依此类推,并按照目标样本在各叶子节点下的占比从小到大(也可以是从大到小)进行排序,形成一个叶子节点序列s1。同样地,对验证集中的训练样本采用同样的方式进行处理,形成一个叶子节点序列s2。逐一比较s1和s2中对应位置的叶子节点是否相同,若所有对应位置的元素完全相同,则决策树m具有稳定性,将其确定为一个候选决策树,反之则决策树m不具有稳定性,不为候选决策树。
97.需要说明的是,对于训练集或者验证集中的样本,可以确定出每个决策树的叶子节点下目标样本的占比,可以选取出占比达到目标占比阈值的叶子节点,将选取的叶子节点作为与特定分类结果对应的叶子节点,比如,执行目标行为的叶子节点。比如,目标行为是预支交换资源,如果执行关联操作的训练对象在某个叶子节点下的占比超过了95%,即,具有与该叶子节点对应的分支属性的对象执行关联操作的可能性非常高,则允许对具有此种属性的预测对象预支交换资源。
98.可选地,如果有测试集,则可以使用最终确定的决策树(即,目标决策树)对测试集中的样本进行预测,并根据预测结果与实际分类结果(样本的分类标签)是否一致判定决策树的性能。
99.通过本实施例,对于训练集和验证集,按照目标样本在每个叶子节点下的占比对每个叶子节点进行分别排序,并筛选出排序结果一致的决策树,可以提高构建的决策树的稳定性。
100.在一个示例性实施例中,目标节点条件可以包括与目标节点对应的第二节点条件,第二节点条件可以用于描述决策树的可解释性,可以是决策树中包含与一组属性中的目标属性对应的目标节点、且由该目标节点切分的各组样本中,目标样本的占比关系符合预期占比关系。对应地,从多个决策树中筛选出至少一个候选决策树,包括:
101.s51,从多个决策树中筛选出一组中间决策树,其中,一组中间决策树的每个中间
决策树均包含与一组属性中的目标属性对应的目标节点,每个中间决策树包含与目标节点对应的多个目标分支,多个目标分支中的每个目标分支对应于目标属性的一个属性值;
102.s52,根据第三样本集中的每个第三样本包含的一组属性的属性值,分别确定属于每个中间决策树的每个目标分支的第三样本中,目标样本的占比,得到与每个中间决策树的每个目标分支对应的第三占比,其中,目标样本为具有目标标签的样本;
103.s53,根据与每个中间决策树的每个目标分支对应的第三占比,从一组中间决策树中筛选出至少一个候选决策树,其中,与每个候选决策树的每个目标分支对应的第三占比的大小顺序与预设顺序相同。
104.在本实施例中,对于生成的多个决策树,目标服务器可以从多个决策树中筛选出包含目标节点的决策树,得到一组中间决策树。一组中间决策树中的每个中间决策树都包含目标节点。对于每个中间决策树,每个中间决策树包含与目标节点对应的多个目标分支,多个目标分支中的每个目标分支对应于目标属性的一个属性值。
105.对于每个中间决策树,目标服务器可以根据第三样本集中的每个第三样本包含的一组属性的属性值,分别确定属于每个中间决策树的每个目标分支的第三样本中目标样本的占比,得到与每个中间决策树的每个目标分支对应的第三占比,目标样本为具有目标标签的样本。
106.在确定与每个中间决策树的每个目标分支对应的第三占比之后,目标服务器可以根据与每个中间决策树的每个目标分支对应的第三占比,从一组中间决策树中筛选出至少一个候选决策树。可选地,可以将每个目标分支对应的第三占比的大小顺序与预设顺序相同的中间决策树确定为候选决策树。
107.需要说明的是,上述第三样本集和前述第一样本集以及第二样本集可以是同一个样本集,也可以是不同的样本集,本实施例中对此不做限定。
108.例如,特征f在某一业务场景下,显著的表现出其值越高目标样本占比越小的趋势。那么,在决策树模型中包含特征f、并且按照特征f切分后的不同分支上,特征f的值越大的分支下目标样本的占比应当相对越小,特征f的值越小的分支下目标样本的占比应当相对越大,具有这种特征的决策树模型满足可解释性条件,反之,则不满足可解释性条件。
109.可选地,对于一组中间决策树中的当前决策树,其可以包含多个目标节点,每个目标节点可以对应于多个目标分支中的一组分支,在确定与每个中间决策树的每个目标分支对应的第三占比时,可以分别针对与当前决策树中的每个目标节点的一组分支对应的第三占比进行判断,并在确定与每个目标节点的一组分支对应的第三占比的大小顺序均与预设顺序相同时,才确定当前决策树中的一组节点满足第二节点条件。
110.通过本实施例,基于决策树包含特定节点、以及按照特定节点切分后的各组样本中特定样本的占比来判断决策树是否具有可解释性,可以提高决策树确定的合理性。
111.在一个示例性实施例中,根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树,包括:
112.s61,按照每个候选决策树的目标评估参数的评估参数值,对至少一个候选决策树进行排序,得到第三排序结果;
113.s62,将第三排序结果中位于目标位置上的候选决策树,确定为目标决策树。
114.在本实施例中,为了更快选取出目标决策树(即,最优决策树),可以先按照每个候
选决策树的目标评估参数的评估参数值,对至少一个候选决策树进行排序,得到第三排序结果,再将第三排序结果中位于目标位置上的候选决策树,确定为目标决策树,可选地,可以按照每个候选决策树的目标评估参数的评估参数值由大到小的顺序,对至少一个候选决策树进行排序,得到第三排序结果。在得到第三排序结果之后,位于第一位的候选决策树即为目标评估参数最优的候选决策树,目标服务器可以将第三排序结果中的第一个决策树(即,目标评估参数的评估参数值最大的决策树),确定为目标决策树。
115.例如,服务器在得到acefj这5个候选决策树之后,可以根据这五个候选决策树的目标评估参数的评估参数值由大到小的顺序,对这五个候选决策树进行排序,若得到的排序结果为ceajf,可以将决策树c确定为最优决策树。
116.通过本实施例,按照与每个候选决策树对应的评估参数值由大到小的顺序对至少一个候选决策树进行排序,并将排序结果中的第一个决策树确定为最优决策树,可以提高决策树选取的效率。
117.下面结合可选示例对本技术实施例中的决策树的构建方法进行解释说明。在本可选示例中,目标评估参数为性能评估指标(如k-s或auc),目标决策树为最优决策树,构建决策树使用的是基于梯度提升的决策树自动生成方法,即,利用决策树梯度提升模型的构建方法,来构建本可选示例中的决策数,决策树称为决策树模型。
118.相关技术中,在对决策树进行优化搜索的过程中,除了网格搜索以外,还可以采用随机搜索和贝叶斯优化,其中,随机搜索与网格搜索不同在于并不尝试所有参数值,而是从制定的分布中采样固定数量的参数设置。其理论依据是,如果随机样本点集足够大,那么也可以找到全局的最大值和最小值,或它们的近似值;贝叶斯优化的主要思想是给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断的添加样本点来更新目标函数的后验分布来逐渐向全局最大值和最小值逼近。
119.但是,不论是网格搜索、随机搜索还是贝叶斯优化,在解决决策树筛选的问题上都存在以下问题:只能针对某一个评估指标进行优化搜索。例如,若模型的评估指标设定为auc,则以上3种优化算法都会尝试令auc最大化,而根本不会考虑模型的稳定性和可解释性。同时,这些优化搜索方案均不考虑决策树模型的模型结构,不会对决策树内部节点进行分析,也未提供这样的接口实现此功能,因此无法以这3种搜索方案进行筛选。
120.本可选示例提供了一种基于梯度提升的决策树自动生成和筛选算法,利用决策树梯度提升模型的构建方法,通过限制其迭代次数为1来达到每次生成一棵决策树模型的效果,在仅变更随机状态值的情况下自动生成n棵决策树模型。在每次生成决策树模型后,会将当前决策树模型套用在训练集和验证集上,根据预先设定的筛选条件(比如,有某一特征作为生长时的切分条件;或者某一特征的值越大越好,否则无效等)判断当前决策树模型是否满足可解释性条件(或者说,可解释性要求),并根据在当前决策树模型的每个叶子节点上训练集和验证集的目标样本的占比排序是否一致来判断当前决策树模型是否满足稳定性条件(或者说,稳定性要求),仅保留满足可解释性条件和稳定性条件的决策树模型,并记录筛选出的决策树模型的性能评估指标。根据筛选出的决策树模型的性能评估指标,从筛选出的决策树模型中选取出最优决策树模型。
121.通过上述决策树模型的生成和筛选方式,仅在满足稳定性条件和可解释性条件的决策树模型中,根据预设的评估指标(比如,k-s或auc)来搜索最优的决策树模型,可以有效
解决目前决策树模型构建中人工调参和筛选时间成本过高的问题(即,人工调参,筛选满足稳定性条件和可解释性条件的最优决策树模型),输出满足稳定性条件和可解释性条件的性能最优的决策树模型。
122.结合图4所示,本可选示例中的决策树的构建方法的流程可以包括以下步骤,其中,虚线框中的步骤(即,步骤s402至步骤s410)为决策树构建过程中的步骤,虚线框外的步骤(即,步骤s412至步骤s414)为构建的决策树筛选过程中的步骤:
123.步骤s402,构建决策树模型。
124.首先,根据训练样本规模和所需生成决策树的最大深度、叶子节点数量等条件,输入一个随机状态值队列用于随机生成决策树模型;然后,将训练样本划分为训练集和验证集,若有必要可划分出测试集。三个数据集的比例可以根据实际的开发场景进行设置,例如,6:2:2。每个训练样本都标注有对应的样本标签。
125.将决策树的最大深度、叶子节点数量、叶子节点所含最小样本数量、样本随机采样比例等超参数连同从随机状态值队列中取出的一个随机状态值作为超参数字典输入梯度提升模型的构建方法中,并限制其构建过程仅迭代一次,生成一棵决策树模型m。决策树模型m的叶子节点依照路径顺序从左至右依次标记为l1、l2、l3直至ln,其中,n为定义的叶子节点数量。
126.步骤s404,确定构建的决策树模型的稳定性和可解释性。
127.可以判断训练集中,目标样本(具有目标标签的训练样本)在叶子节点l1的占比为10%、在叶子节点l2的占比为15%、在叶子节点l3的占比5%,而验证集中,目标样本在叶子节点l1的占比为8%、在叶子节点l2的占比为16%、在叶子节点l3的占比为6%,可以判定两者一致,决策树模型满足稳定性条件,而如果在叶子节点l3的占比10%,可以判定两者不一致,决策树模型不满足稳定性条件。
128.在生成决策树模型之后,可根据决策树模型的节点中是否有特定的一个或多个特征,以及按照特征切分后两侧样本的目标样本占比是否符合业务逻辑,来判断决策树模型是否有可解释性。其中,是否符合业务逻辑可以由相关人员根据实际的场景来预先定义。
129.步骤s406,判断构建出的决策树模型是否满足稳定性条件和可解释性条件,如果是,执行步骤s408,否则,执行步骤s410。
130.对于构建的决策树模型,如果同时满足稳定性条件和可解释性条件,可以执行步骤s408,否则,执行步骤s410。
131.步骤s408,保留模型,记录性能评估指标。
132.当决策树模型同时满足稳定性条件和可解释性条件时,将决策树模型及其评估指标和相关参数存入模型列表中。遍历随机状态值队列完成批量决策树模型生成任务后,会形成一个存储了所有满足稳定性条件和可解释性条件的决策树模型的模型列表,其中也包含了每个决策树模型所对应的评估指标值和随机状态值。
133.步骤s410,删除模型。
134.对不同时满足稳定性条件和可解释性条件的决策树模型可以直接删除。
135.步骤s412,根据性能评估指标进行排序。
136.为了输出最优决策树模型,可以将该模型列表中的所有决策树模型按评估指标值从最优至最差进行排序,得到排序后的模型列表。
137.步骤s414,输出最优决策树模型。
138.将排序后的模型列表的第一个决策树模型,即为满足了稳定性条件和可解释性条件的最优或较优模型解。
139.通过本可选示例,在自动生成决策树的过程中通过分析内部节点的情况实现了模型稳定性和可解释性的判断,并基于此判断筛选掉不满足要求的决策树,仅在保留下来的模型中进行了优化搜索,从而使得最终输出的决策树模型是在满足稳定性条件和可解释性条件下,预测性能较好的版本。
140.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
141.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom(read-only memory,只读存储器)/ram(random access memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
142.根据本技术实施例的另一个方面,还提供了一种用于实施上述决策树的构建方法的决策树的构建装置。图5是根据本技术实施例的一种可选的决策树的构建装置的结构框图,如图5所示,该装置可以包括:
143.获取单元502,用于获取多个超参数字典,以及获取训练样本集,其中,多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;
144.构建单元504,与获取单元502相连,用于使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应;
145.筛选单元506,与构建单元504相连,用于从多个决策树中筛选出至少一个候选决策树,其中,至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件;
146.选取单元508,与筛选单元506相连,用于根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树。
147.需要说明的是,该实施例中的获取单元502可以用于执行上述步骤s202,该实施例中的构建单元504可以用于执行上述步骤s204,该实施例中的筛选单元506可以用于执行上述步骤s206,该实施例中的选取单元508可以用于执行上述步骤s208。
148.通过上述模块,获取多个超参数字典,以及获取训练样本集,其中,多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;使用多个超参数字典中的每个超参数
字典和训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应;从多个决策树中筛选出至少一个候选决策树,其中,至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件;根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树,解决了相关技术中的决策树构建方式存在无法保证决策树模型的合理性及稳定性的技术问题,保证了决策树模型的合理性及稳定性,提升了用户的使用体验。
149.在一个示例性实施例中,获取单元,包括:
150.生成模块,用于生成随机状态值队列,其中,随机状态值队列包含互不相同的多个随机状态值;
151.组合模块,用于从随机状态值队列中分别选取随机状态值与一组预设超参数进行组合,得到多个超参数字典。
152.在一个示例性实施例中,构建单元,包括:
153.构建模块,用于使用多个超参数字典中的每个超参数字典分别作为决策树的超参数字典进行决策树构建,得到多个初始决策树;
154.训练模块,用于使用训练样本集分别对多个初始决策树中的每个初始决策树进行训练,得到多个决策树,其中,在使用训练样本集对每个初始决策树进行训练的过程中仅做一次迭代,得到一个决策树。
155.在一个示例性实施例中,筛选单元,包括:
156.第一确定模块,用于根据第一样本集中的每个第一样本包含的一组属性的属性值,确定每个决策树的每个叶子节点下的第一样本;
157.第二确定模块,用于根据第二样本集中的每个第二样本包含的一组属性的属性值,确定每个决策树的每个叶子节点下的第二样本;
158.第一筛选模块,用于根据与每个决策树对应的第一占比和与每个决策树对应的第二占比,从多个决策树中筛选出至少一个候选决策树,其中,与每个决策树对应的第一占比为每个决策树的每个叶子节点下的第一样本中目标样本的占比,与每个决策树对应的第二占比为每个决策树的每个叶子节点下的第二样本中目标样本的占比,目标样本为具有目标标签的样本,与每个候选决策树对应的第一占比和与每个候选决策树对应的第二占比一致。
159.在一个示例性实施例中,第一筛选模块,包括:
160.第一排序子模块,用于按照与每个决策树对应的第一占比对每个决策树的每个叶子节点进行排序,得到与每个决策树对应的第一排序结果;
161.第二排序子模块,用于按照与每个决策树对应的第二占比对每个决策树的每个叶子节点进行排序,得到与每个决策树对应的第二排序结果;
162.筛选子模块,用于从多个决策树中筛选出对应的第一排序结果和对应的第二排序结果相同的决策树,得到至少一个候选决策树。
163.在一个示例性实施例中,筛选单元,包括:
164.第二筛选模块,用于从多个决策树中筛选出一组中间决策树,其中,一组中间决策树的每个中间决策树均包含与一组属性中的目标属性对应的目标节点,每个中间决策树包
含与目标节点对应的多个目标分支,多个目标分支中的每个目标分支对应于目标属性的一个属性值;
165.第三确定模块,用于根据第三样本集中的每个第三样本包含的一组属性的属性值,分别确定属于每个中间决策树的每个目标分支的第三样本中,目标样本的占比,得到与每个中间决策树的每个目标分支对应的第三占比,其中,目标样本为具有目标标签的样本;
166.第三筛选模块,用于根据与每个中间决策树的每个目标分支对应的第三占比,从一组中间决策树中筛选出至少一个候选决策树,其中,与每个候选决策树的每个目标分支对应的第三占比的大小顺序与预设顺序相同。
167.在一个示例性实施例中,选取单元,包括:
168.排序模块,用于按照每个候选决策树的目标评估参数的评估参数值,对至少一个候选决策树进行排序,得到第三排序结果;
169.第四确定模块,用于将第三排序结果中位于目标位置上的候选决策树,确定为目标决策树。
170.此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
171.根据本技术实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本技术实施例中上述任一项决策树的构建方法的程序代码。
172.可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
173.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
174.s1,获取多个超参数字典,以及获取训练样本集,其中,多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;
175.s2,使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应;
176.s3,从多个决策树中筛选出至少一个候选决策树,其中,至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件;
177.s4,根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树。
178.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
179.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、rom、ram、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
180.根据本技术实施例的又一个方面,还提供了一种用于实施上述决策树的构建方法的电子装置,该电子装置可以是服务器、终端、或者其组合。
181.图6是根据本技术实施例的一种可选的电子装置的结构框图,如图6所示,包括处理器602、通信接口604、存储器606和通信总线608,其中,处理器602、通信接口604和存储器606通过通信总线608完成相互间的通信,其中,
182.存储器606,用于存储计算机程序;
183.处理器602,用于执行存储器606上所存放的计算机程序时,实现如下步骤:
184.s1,获取多个超参数字典,以及获取训练样本集,其中,多个超参数字典中的每个超参数字典包含一组预设超参数和一个随机状态值,训练样本集中的每个训练样本包含与一个训练对象对应的一组属性的属性值;
185.s2,使用多个超参数字典中的每个超参数字典和训练样本集分别进行决策树构建,得到多个决策树,其中,在进行决策树构建的过程中仅做一次迭代,多个决策树中的每个决策树包含的一组节点中,每个非叶子节点与一组属性中的一个属性对应;
186.s3,从多个决策树中筛选出至少一个候选决策树,其中,至少一个候选决策树中的每个候选决策树包含的一组节点满足目标节点条件;
187.s4,根据每个候选决策树的目标评估参数,从至少一个候选决策树选取目标决策树。
188.可选地,通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子装置与其他设备之间的通信。
189.存储器可以包括ram,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
190.作为一种示例,上述存储器606中可以但不限于包括上述决策树的构建装置中的获取单元502、构建单元504、筛选单元506及选取单元508。此外,还可以包括但不限于上述决策树的构建装置中的其他模块单元,本示例中不再赘述。
191.上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
192.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
193.本领域普通技术人员可以理解,图6所示的结构仅为示意,实施上述决策树的构建方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图6其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示的不同的配置。
194.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质
中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
195.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
196.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。
197.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
198.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
199.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
200.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以至少两个单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
201.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1