基于列存储的决策树构造方法、装置、设备及存储介质转让专利

申请号 : CN202010087103.1

文献号 : CN111275203A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李诗琦黄启军黄铭毅刘玉德

申请人 : 深圳前海微众银行股份有限公司

摘要 :

本发明公开了一种基于列存储的决策树构造方法、装置、设备及存储介质,涉及机器学习技术领域,该方法包括:根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;根据所述特征分布情况,生成下一层节点,对所述下一层节点进行分裂,直至收敛,获得决策树。由此,基于列存储构造决策树,缩减了数据读取的时间,提升了工作效率。

权利要求 :

1.一种基于列存储的决策树构造方法,其特征在于,该方法包括:根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;

获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;

根据所述特征分布情况,生成下一层节点;

对所述下一层节点进行分裂,直至收敛,获得决策树。

2.根据权利要求1所述的方法,其特征在于,所述各个节点对应不同的第一拆分特征,所述根据所述列数据将各个样本划分至所述当前层中的各个节点的步骤包括:从所述列数据中获取所述各个样本的第一特征,所述第一特征与所述第一拆分特征对应;

将各个节点的所述第一拆分特征发送至一个或多个执行机,由所述一个或多个执行机根据所述第一特征将所述各个样本划分至所述当前层中的各个节点。

3.根据权利要求1所述的方法,其特征在于,所述根据所述特征分布情况,生成下一层节点的步骤包括:将所述特征分布情况发送至一个或多个执行机,由所述一个或多个执行机进行并行求解获得最优值;

将所述最优值作为第二拆分特征生成下一层节点。

4.根据权利要求1所述的方法,其特征在于,所述根据当前层中各个节点的第一拆分特征读取对应的列数据的步骤包括:获取当前层中各个节点的所述第一拆分特征,从数据表中读取与所述第一拆分特征对应的列数据。

5.根据权利要求1所述的方法,其特征在于,所述根据当前层中各个节点的第一拆分特征读取对应的列数据的步骤之前还包括:扫描样本数据,对所述样本数据进行特征一致性处理,并根据特征将所述样本数据按列存储。

6.根据权利要求1所述的方法,其特征在于,所述获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况的步骤包括:将划分至同一个节点的所述样本记为所述分组样本,获取所述各个节点对应的分组样本;

根据预设特征统计规则对所述分组样本进行统计,获得各个特征的特征分布情况。

7.根据权利要求1所述的方法,其特征在于,所述当前层中的各个节点的第一拆分特征分别是学历、存款和年龄,所述根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点的步骤包括:从数据表中读取与学历、存款和年龄对应的学历列数据、存款列数据和年龄列数据;

将所述学历列数据、存款列数据和年龄列数据分别发送至三个执行机,由所述三个执行机分别根据对应的列数据将所述各个样本划分至所述当前层中的各个节点。

8.一种基于列存储的决策树构造装置,其特征在于,所述基于列存储的决策树构造装置包括:划分模块,用于根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;

统计模块,用于获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;

生成模块,用于根据所述特征分布情况,生成下一层节点;

获得模块,用于对所述下一层节点进行分裂,直至收敛,获得决策树。

9.一种基于列存储的决策树构造设备,其特征在于,所述基于列存储的决策树构造设备包括处理器,存储器以及存储在所述存储器中的基于列存储的决策树构造程序,所述基于列存储的决策树构造程序被所述处理器运行时,实现如权利要求1-7中任一项所述的基于列存储的决策树构造方法的步骤。

10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有基于列存储的决策树构造程序,所述基于列存储的决策树构造程序被处理器运行时实现如权利要求1-7中任一项所述基于列存储的决策树构造方法的步骤。

说明书 :

基于列存储的决策树构造方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及机器学习技术领域,尤其涉及一种基于列存储的决策树构造方法、装置、设备及存储介质。

背景技术

[0002] 随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
[0003] 决策树广泛应用于金融领域,但是当前在的决策树构造主要是基于行存储的方式进行数据读取。在数据量较大的情况下构造决策树,在数据读取过程中会需要耗费大量的时间,进而工作效率不高。

发明内容

[0004] 本发明提供一种基于列存储的决策树构造方法、装置、设备及存储介质,旨在节约决策树的训练时间,提升工作效率。
[0005] 为实现上述目的,本发明提供一种基于列存储的决策树构造方法,该方法包括:
[0006] 根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;
[0007] 获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;
[0008] 根据所述特征分布情况,生成下一层节点;
[0009] 对所述下一层节点进行分裂,直至收敛,获得决策树。
[0010] 优选地,所述各个节点对应不同的第一拆分特征,所述根据所述列数据将各个样本划分至所述当前层中的各个节点的步骤包括:
[0011] 从所述列数据中获取所述各个样本的第一特征,所述第一特征与所述第一拆分特征对应;
[0012] 将各个节点的所述第一拆分特征发送至一个或多个执行机,由所述一个或多个执行机根据所述第一特征将所述各个样本划分至所述当前层中的各个节点。
[0013] 优选地,所述根据所述特征分布情况,生成下一层节点的步骤包括:
[0014] 将所述特征分布情况发送至一个或多个执行机,由所述一个或多个执行机进行并行求解获得最优值;
[0015] 将所述最优值作为第二拆分特征生成下一层节点。
[0016] 优选地,所述根据当前层中各个节点的第一拆分特征读取对应的列数据的步骤包括:
[0017] 获取当前层中各个节点的所述第一拆分特征,从数据表中读取与所述第一拆分特征对应的列数据。
[0018] 优选地,所述根据当前层中各个节点的第一拆分特征读取对应的列数据的步骤之前还包括:
[0019] 扫描样本数据,对所述样本数据进行特征一致性处理,并根据特征将所述样本数据按列存储。
[0020] 优选地,所述获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况的步骤包括:
[0021] 将划分至同一个节点的所述样本记为所述分组样本,获取所述各个节点对应的分组样本;
[0022] 根据预设特征统计规则对所述分组样本进行统计,获得各个特征的特征分布情况。
[0023] 优选地,所述当前层中的各个节点的第一拆分特征分别是学历、存款和年龄,所述根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点的步骤包括:
[0024] 从数据表中读取与学历、存款和年龄对应的学历列数据、存款列数据和年龄列数据;
[0025] 将所述学历列数据、存款列数据和年龄列数据分别发送至三个执行机,由所述三个执行机分别根据对应的列数据将所述各个样本划分至所述当前层中的各个节点。
[0026] 此外,为实现上述目的,本发明还提供一种基于列存储的决策树构造装置,所述基于列存储的决策树构造装置包括:
[0027] 划分模块,用于根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;
[0028] 统计模块,用于获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;
[0029] 生成模块,用于根据所述特征分布情况,生成下一层节点;
[0030] 获得模块,用于对所述下一层节点进行分裂,直至收敛,获得决策树。
[0031] 此外,为实现上述目的,本发明还提供一种基于列存储的决策树构造设备,所述基于列存储的决策树构造设备包括处理器,存储器以及存储在所述存储器中的基于列存储的决策树构造程序,所述基于列存储的决策树构造程序被所述处理器运行时,实现如上所述的基于列存储的决策树构造方法的步骤。
[0032] 此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有基于列存储的决策树构造程序,所述基于列存储的决策树构造程序被处理器运行时实现如上所述基于列存储的决策树构造方法的步骤。
[0033] 相比现有技术,本发明提供了一种基于列存储的决策树构造方法、装置、设备及存储介质,根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;根据所述特征分布情况,生成下一层节点;对所述下一层节点进行分裂,直至收敛,获得决策树。由此,基于列存储构造决策树,缩减了数据读取的时间,提升了工作效率。

附图说明

[0034] 图1是本发明各实施例涉及的基于列存储的决策树构造设备的硬件结构示意图;
[0035] 图2是本发明基于列存储的决策树构造方法第一实施例的流程示意图;
[0036] 图3是本发明基于列存储的决策树构造装置第一实施例的功能模块示意图。
[0037] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0038] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0039] 本发明实施例主要涉及的基于列存储的决策树构造设备是指能够实现网络连接的网络连接设备,所述基于列存储的决策树构造设备可以是服务器、云平台等。
[0040] 参照图1,图1是本发明各实施例涉及的基于列存储的决策树构造设备的硬件结构示意图。本发明实施例中,基于列存储的决策树构造设备可以包括处理器1001(例如中央处理器Central Processing Unit、CPU),通信总线1002,输入端口1003,输出端口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;输入端口1003用于数据输入;输出端口1004用于数据输出,存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0041] 继续参照图1,图1中作为一种可读存储介质的存储器1005可以包括操作系统、网络通信模块、应用程序模块以及基于列存储的决策树构造程序。在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001用于调用存储器1005中存储的基于列存储的决策树构造程序,并执行如下操作:
[0042] 根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;
[0043] 获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;
[0044] 根据所述特征分布情况,生成下一层节点;
[0045] 对所述下一层节点进行分裂,直至收敛,获得决策树。
[0046] 所述处理器1001还用于调用存储器1005中存储的基于列存储的决策树构造程序,并执行如下操作:
[0047] 从所述列数据中获取所述各个样本的第一特征,所述第一特征与所述第一拆分特征对应;
[0048] 将各个节点的所述第一拆分特征发送至一个或多个执行机,由所述一个或多个执行机根据所述第一特征将所述各个样本划分至所述当前层中的各个节点
[0049] 所述处理器1001还用于调用存储器1005中存储的基于列存储的决策树构造程序,并执行如下操作:
[0050] 将所述特征分布情况发送至一个或多个执行机,由所述一个或多个执行机进行并行求解获得最优值;
[0051] 将所述最优值作为第二拆分特征生成下一层节点。
[0052] 所述处理器1001还用于调用存储器1005中存储的基于列存储的决策树构造程序,并执行如下操作:
[0053] 获取当前层中各个节点的所述第一拆分特征,从数据表中读取与所述第一拆分特征对应的列数据。
[0054] 所述处理器1001还用于调用存储器1005中存储的基于列存储的决策树构造程序,并执行如下操作:
[0055] 扫描样本数据,对所述样本数据进行特征一致性处理,并根据特征将所述样本数据按列存储。
[0056] 所述处理器1001还用于调用存储器1005中存储的基于列存储的决策树构造程序,并执行如下操作:
[0057] 将划分至同一个节点的所述样本记为所述分组样本,获取所述各个节点对应的分组样本;
[0058] 根据预设特征统计规则对所述分组样本进行统计,获得各个特征的特征分布情况。
[0059] 所述处理器1001还用于调用存储器1005中存储的基于列存储的决策树构造程序,并执行如下操作:
[0060] 从数据表中读取与学历、存款和年龄对应的学历列数据、存款列数据和年龄列数据;
[0061] 将所述学历列数据、存款列数据和年龄列数据分别发送至三个执行机,由所述三个执行机分别根据对应的列数据将所述各个样本划分至所述当前层中的各个节点。
[0062] 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。在机器学习中,决策树是一个预测模型,代表的是对象属性与对象值之间的一种映射关系。
[0063] 本发明实施例提供了一种基于列存储的决策树构造方法。在SQL(结构化查询语言,Structured Query Language)Server(数据库)里,Page(页)是数据存储的基本单位,而数据行是实际数据的存储单位,数据从Page Header(页头)之后就开始依次存储在Page上。这种按行在Page上存储记录的方式就是行存储。当数据是按单列而不是多行进行连续存储时,就是所谓的列存储。列存储在写入效率、保证数据完整性上都不如行存储。列存储的优势是在读取过程中不会产生冗余数据,这对数据完整性要求不高的大数据处理领域,犹为重要。
[0064] 参照图2,图2是本发明基于列存储的决策树构造方法第一实施例的流程示意图。
[0065] 本实施例中,所述基于列存储的决策树构造方法应用于基于列存储的决策树构造设备,所述方法包括:
[0066] 步骤S101,根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;
[0067] 决策树的每一层的各个节点都有各自的拆分特征,节点根据拆分特征进行分裂,获得下一节点。本实施例中,将当前层的拆分特征标记为第一拆分特征。获得所述第一拆分特征后,根据所述第一拆分特征读取对应的列数据。获取所述第一拆分特征,从数据表中读取与所述第一拆分特征对应的列数据。
[0068] 本实施例中,所述各个节点对应不同的第一拆分特征,所述根据所述列数据将各个样本划分至所述当前层中的各个节点的步骤包括:
[0069] 从所述列数据中获取所述各个样本的第一特征,所述第一特征与所述第一拆分特征对应;根据所述列数据将所述第一拆分特征的值标记为各个样本的第一特征。例如,若所述第一拆分特征为年龄,读取的列数据中某个样本的年龄是20岁,则该样本的第一特征为20岁。
[0070] 将各个节点的所述第一拆分特征发送至一个或多个执行机,由所述一个或多个执行机根据所述第一特征将所述各个样本划分至所述当前层中的各个节点。由于各个节点对应的所述第一拆分特征各不相同,故可以将各个节点的所述第一拆分特征发送至多个执行机,由所述多个执行机进行并行处理。例如,如果当前层有4个节点,对应的第一拆分特征分别为特征A、特征B、特征C、特征D,则可以将这4个节点的第一拆分特征分别发送至1号执行机、2号执行机、3号执行机和4号执行机进行分别处理。由此,实现了多线程处理,提高了处理效率。
[0071] 进一步地,所述根据当前层中各个节点的第一拆分特征读取对应的列数据的步骤之前还包括:
[0072] 扫描样本数据,对所述样本数据进行特征一致性处理,并根据特征将所述样本数据按列存储。
[0073] 列存储需要把一条完整的数据拆分成多个单列进行保存,在读取的过程中也是读取对应的列。列存储的数据的在存储前会进行拆分,因而可以对需要进行列存储的样本数据进行特征一致性处理。具体地,扫描每一条样本数据,获取目标特征对应的目标特征值,将所述目标特征值按预设逻辑存储为目标样本数据,并忽略所述样本数据中的其他值。若某个样本数据中缺失了一个或多个目标特征值,则将该样本数据舍弃或者按预设方式补齐缺失的目标特征值。经过一致性处理后,即可以获得统一的样本数据。
[0074] 进一步地,根据所述目标特征将所述样本数据按列存储,每一列包含一个目标特征。
[0075] 步骤S102,获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;
[0076] 具体地,所述获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况的步骤包括:
[0077] 步骤S102a,将划分至同一个节点的所述样本记为所述分组样本,获取所述各个节点对应的分组样本;
[0078] 将各个样本划分至所述当前层的各个节点之后,每个节点都包括所述样本中的部分样本,将划分至同一个节点的所述样本记为所述分组样本,由此,每个节点都有对应的分组样本,并分别获取各个节点对应的多个分组样本。
[0079] 步骤S102b,根据预设特征统计规则对所述分组样本进行统计,获得各个特征的特征分布情况。
[0080] 所述多个分组样本在当前层是按所述第一拆分特征进行分组的,可以理解地,所述多个分组样本的其它特征若暂未在当前层以上的层进行分组,则需要在当前层以下的某一层中进行分组。
[0081] 本实施例中,设置预设特征统计规则,所述预设特征统计规则可以是将各个特征用正态分布进行统计,也可以通过平均值、最大值、最小值、中位值等方式进行统计。然后,根据所述预设特征统计规则对所述分组样本进行统计,获得各个特征的特征分别情况。
[0082] 步骤S103,根据所述特征分布情况,生成下一层节点。
[0083] 获得所述特征分布情况后,则可以获得最优值,并根据所述最优值进行分裂生成下一节点,由此决策树不断分裂,直到收敛。
[0084] 具体地,所述根据所述特征分布情况,生成下一层节点的步骤包括:
[0085] 步骤S103a,将所述特征分布情况发送至一个或多个执行机,由所述一个或多个执行机进行并行求解获得最优值;
[0086] 具体地,将各个节点的所述特征分布情况分别发送至一个或多个执行机,由所述一个或多个执行机根据预设算法对所述特征分布情况进行求解。例如可以通过算法计算熵、GINI系数(不纯度)来获得所述特征分布情况的最优值。例如,可以选择具有最高信息增益的特征作为测试特征,利用该特征对节点样本进行划分子集,会使得各子集中不同类别样本的混合程度最低,在各子集中对样本划分所需的信息(熵)最少,由此即可获得所述最优值。
[0087] 本实施例中,可以由多个所述执行机同时进行求解,实现了并行计算,大大提高了工作效率。
[0088] 步骤S103b,将所述最优值作为第二拆分特征生成下一层节点。
[0089] 根据所述最优值最为该节点的第二拆分特征,并基于所述第二拆分特征生成下一节点。
[0090] 步骤S104:对所述下一层节点进行分裂,直至收敛,获得决策树。
[0091] 具体地,对所述下一层节点内的节点样本进行统计,获得第二特征分布情况,并基于所述第二特征分布情况由执行机计最优值,并继续生成节点。不断重复上述步骤,直到达到决策树收敛条件,并在减枝后获得最终的决策树。在决策树充分生长后,修剪掉多余的分支。
[0092] 本实施例可以通过后减枝的方式进行减枝。具体地,根据每个分支的分类错误率及每个分支的权重,计算该节点不修剪时预期分类错误率;对于每个非叶节点,计算该节点被修剪后的分类错误率,如果修剪后分类错误率变大,即放弃修剪;否则将该节点强制为叶节点,并标记类别。产生一系列修剪过的决策树候选之后,利用测试数据(未参与建模的数据)对各候选决策树的分类准确性进行评价,保留分类错误率最小的决策树。
[0093] 决策树模型经常应用于金融领域,例如在银行的信贷业务中,可以构建信贷风险决策树。在构建信贷风险决策树时,获取大量用户数据作为样本,所述样本包括多个信贷特征,所述信贷特征包括学历、存款、职业、年龄、历史贷款记录、家庭情况、固定资产等。
[0094] 在构建信贷风险决策树的过程中,设所述当前层中的各个节点的第一拆分特征分别是学历、存款和年龄,所述根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点的步骤包括:从数据表中读取与学历、存款和年龄对应的学历列数据、存款列数据和年龄列数据;将所述学历列数据、存款列数据和年龄列数据分别发送至三个执行机,由所述三个执行机分别根据对应的列数据将所述各个样本划分至所述当前层中的各个节点,所述各个节点分别是:学历节点、存款节点和年龄节点。
[0095] 进一步地,将所述学历节点、所述存款节点和所述年龄节点中样本标记为分组样本:样本A,样本B以及样本C,分别统计各个分组样本中各个特征的分布情况。对于样本A,则获取除学历特征之外的其它特征的分别情况;对于样本B,则获取除存款特征之外的其它特征的分别情况;对于样本C,则获取除年龄特征之外的其它特征的分别情况,可以理解地,所述其它特征可以根据需要具体选择,例如还可以剔除所述当前层节点的上层节点的一个或多个特征。当获取到所述学历节点、所述存款节点和所述年龄节点中样本的特征分布情况后,则根据所述特征分布情况,生成下一节点。例如,对于学历节点,则可以根据职业特征进行分裂,获得下一层节点。不断重复上述步骤,直到满足收敛条件,获得信贷风险决策树。
[0096] 本实施例通过上述方案,根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;根据所述特征分布情况,生成下一层节点,对所述下一层节点进行分裂,直至收敛,获得决策树。由此,基于列存储构造决策树,缩减了数据读取的时间,提升了工作效率。
[0097] 此外,本实施例还提供一种基于列存储的决策树构造装置。参照图3,图3为本发明基于列存储的决策树构造装置第一实施例的功能模块示意图。
[0098] 本实施例中,所述列存储的决策树构造装置为虚拟装置,存储于图1所示的列存储的决策树构造设备的存储器1005中,以实现列存储的决策树构造程序的所有功能:用于根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;用于获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;用于根据所述特征分布情况,生成下一层节点;用于对所述下一层节点进行分裂,直至收敛,获得决策树。
[0099] 具体地,所述基于列存储的决策树构造装置包括:
[0100] 划分模块10,用于根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;
[0101] 统计模块20,用于获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;
[0102] 生成模块30,用于根据所述特征分布情况,生成下一层节点;
[0103] 获得模块40,用于对所述下一层节点进行分裂,直至收敛,获得决策树。
[0104] 进一步地,所述生成模块包括:
[0105] 发送单元,用于将所述特征分布情况发送至一个或多个执行机,由所述一个或多个执行机进行并行求解获得最优值;
[0106] 生成单元,用于将所述最优值作为第二拆分特征生成下一层节点。
[0107] 进一步地,所述划分模块包括:
[0108] 读取单元,用于获取所述第一拆分特征,从数据表中读取与所述第一拆分特征对应的列数据。
[0109] 进一步地,所述生成模块还包括:
[0110] 扫描单元,用于扫描样本数据,对所述样本数据进行特征一致性处理,并根据特征将所述样本数据按列存储。
[0111] 进一步地,所述统计模块包括:
[0112] 获取单元,用于将划分至同一个节点的所述样本记为所述分组样本,获取所述各个节点对应的分组样本;
[0113] 统计单元,用于根据预设特征统计规则对所述分组样本进行统计,获得各个特征的特征分布情况。
[0114] 此外,本发明实施例还提供一种计算机存储介质,所述计算机存储介质上存储有基于列存储的决策树构造程序,所述基于列存储的决策树构造程序被处理器运行时实现如上所述基于列存储的决策树构造方法的步骤,此处不再赘述。
[0115] 相比现有技术,本发明提出的一种基于列存储的决策树构造方法、装置、设备及存储介质,涉及机器学习技术领域,该方法包括:根据当前层中各个节点的第一拆分特征读取对应的列数据,并根据所述列数据将各个样本划分至所述当前层中的各个节点;获取所述各个节点中的分组样本,并统计所述分组样本中各个特征的特征分布情况;根据所述特征分布情况,生成下一层节点;对所述下一层节点进行分裂,直至收敛,获得决策树。由此,基于列存储构造决策树,缩减了数据读取的时间,提升了工作效率。
[0116] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0117] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0118] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
[0119] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。