CN111309848A - 一种梯度提升树模型的生成方法及系统 - Google Patents
一种梯度提升树模型的生成方法及系统 Download PDFInfo
- Publication number
- CN111309848A CN111309848A CN202010059708.XA CN202010059708A CN111309848A CN 111309848 A CN111309848 A CN 111309848A CN 202010059708 A CN202010059708 A CN 202010059708A CN 111309848 A CN111309848 A CN 111309848A
- Authority
- CN
- China
- Prior art keywords
- tree
- node
- data
- current
- electronic device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种梯度提升树模型的生成方法及系统,属于机器学习领域,方法包括:第一数据方基于多个样本的多个第一特征及真实标签构建第一数据方本地的数据集,并至少将各样本的真实标签通过区块链发送至第二数据方;第二数据方基于各样本的多个第二特征及从区块链中接收到的各样本的真实标签,构建第二数据方本地的数据集;第一数据方与第二数据方基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,并从基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。本发明生成梯度提升树模型时,避免泄露双方持有的特征数据。
Description
技术领域
本发明涉及机器学习领域,特别涉及一种梯度提升树模型的生成方法及系统。
背景技术
梯度提升树,属于机器学习范畴,在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一。它是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。
企业通常都拥有大量的用户特征数据。对这些用户,企业可以使用这些特征来训练梯度提升树,来预测用户行为。
目前来说,企业对自己拥有的数据源的价值挖掘通常已经比较彻底,急需通过与其企业数据源合作,对数据联合训练,来扩大数据分析来源,以挖掘出更多的价值。但是用户特征在不同企业之间是保密的。所以两个企业如果进行合作联合训练,一般有以下几种方法:
1,数据托管:各方将数据托管到交易中心,由中心与外部进行数据交易,这样数据就由中心所有,参与方丢失数据所有权。
2,聚合中心:中心充当传输枢纽并通过接口将各方数据链接起来,这样中心有能力、有机会留存交易数据。
3,数据隔离域:各方将数据集中至隔离域为参与方提供服务,这样隔离域往往由强势机构负责运营,弱势方存在出让数据所有权风险。
4,数据买卖:交易方之间通过数据价值评估进行数据源交易,议价权往往由强势方掌握,且存在泄露用户数据隐私等的法律风险。
可见,现有技术中在对两方企业相同的用户进行联合训练梯度提升树模型时,存在泄露双方的用户原始特征数据的风险。
发明内容
为了克服上述技术缺陷,本发明提供一种梯度提升树模型的生成方法及系统,在实现梯度提升树模型的生成过程中,能够保证两个数据方都不能获取对方的特征数据,避免泄露双方持有的特征数据。
本发明实施例提供的具体技术方案如下:
一方面,提供一种梯度提升树模型的生成方法,所述方法包括:
第一数据方基于多个样本的多个第一特征及真实标签构建所述第一数据方本地的数据集,并至少将各所述样本的真实标签通过区块链发送至第二数据方;
所述第二数据方基于各所述样本的多个第二特征以及从区块链中接收到的各所述样本的真实标签,构建所述第二数据方本地的数据集;
所述第一数据方与所述第二数据方基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树;以及
从所述基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。
进一步地,所述第一数据方至少将各所述样本的真实标签通过区块链发送至第二数据方,包括:
所述第一数据方将所述梯度提升树算法的固定值与多个所述样本的真实标签通过区块链发送至第二数据方,其中,所述固定值包括回归树的最大深度、最大树数量、学习率以及节点最小样本数。
进一步地,所述第一数据方与所述第二数据方基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,包括:
S1,所述第一数据方和所述第二数据方基于各自本地的当前节点参数、所述梯度提升树算法的固定值以及各自本地的当前数据集,生成各自本地的当前树节点文件;
S2,所述第二数据方获取所述第一数据方通过区块链发送的所述第一数据方本地的当前树节点文件,并在所述第一数据方本地的当前树节点文件与所述第二数据方本地的当前树节点文件中,选择最小的损失值对应的当前树节点文件作为切分树节点文件;
S3,所述第二数据方基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第二数据方的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
S4,所述第一数据方获取所述第二数据方通过区块链发送的所述切分树节点文件,基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第一数据方的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
S5,所述第一数据方将本地的所述两个下一级的当前树节点文件逐个通过区块链发送至所述第二数据方;
S6,迭代执行步骤S2至步骤S5,直至满足迭代停止条件;
S7,所述第一数据方和所述第二数据方对各自本地的所有树节点文件按照文件名进行关联,生成所述基础回归树。
进一步地,所述从所述基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树的数量达到预设的树数量,包括:
S8,所述第一数据方和所述第二数据方各自基于所述固定值中的学习率、前一棵回归树中的各叶子节点用户的真实标签以及各所述叶子节点用户的预测标签,获取各所述叶子节点用户对应的残差;
S9,所述第一数据方和所述第二数据方基于各自本地的当前数据集以及各所述叶子节点用户对应的残差,生成所述第一数据方和所述第二数据方各自本地的新的当前数据集;
S10,针对所述第一数据方和所述第二数据方各自本地的新的当前数据集,重复执行步骤S1至步骤S7,得到所述前一棵回归树的后一棵回归树;
S11,迭代执行步骤S8至步骤S10,直至回归树数量达到所述固定值中的最大树数量。
进一步地,在步骤S1中所述第一数据方基于本地的当前节点参数、所述梯度提升树算法的固定值以及本地的当前数据集,生成本地的当前树节点文件,包括:
S1.1,基于所述当前节点参数、所述固定值以及所述当前数据集,判断当前节点是否为非叶子节点,若是,则执行步骤S1.2,若否,则执行步骤S1.4;
S1.2,遍历所述当前数据集中每个第一特征的每个变量及每个所述变量的值作为切分变量和切分点,寻找最小的损失值,并确定所述最小的损失值对应的第一特征、变量以及变量值;
S1.3,基于所述最小的损失值、所述最小的损失值对应的第一特征、变量以及变量值更新所述当前节点参数,生成所述当前树节点文件;
S1.4,将叶子节点用户的真实标签的平均值确定为所述当前节点的预测值,并基于所述当前节点的预测值更新所述当前节点参数,生成所述当前树节点文件。
另一方面,提供一种梯度提升树模型的生成系统,所述系统包括:
第一电子设备,用于基于多个样本的多个第一特征及真实标签构建所述第一电子设备本地的数据集,并至少将各所述样本的真实标签通过区块链发送至第二电子设备;
所述第二电子设备,用于基于各所述样本的多个第二特征以及从区块链中接收到的各所述样本的真实标签,构建所述第二电子设备本地的数据集;
所述第一电子设备和所述第二电子设备,还用于基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,并从所述基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。
进一步地,所述第一电子设备具体用于:
将所述梯度提升树算法的固定值与多个所述样本用户的真实标签通过区块链发送至第二电子设备,其中,所述固定值包括回归树的最大深度、最大树数量、学习率以及节点最小样本数。
进一步地,所述第一电子设备和所述第二电子设备基于各自本地的当前节点参数、所述梯度提升树算法的固定值以及各自本地的当前数据集,生成各自本地的当前树节点文件;
所述第二电子设备获取所述第一电子设备通过区块链发送的所述第一电子设备本地的当前树节点文件,并在所述第一电子设备本地的当前树节点文件与所述第二电子设备本地的当前树节点文件中,选择最小的损失值对应的当前树节点文件作为切分树节点文件;
所述第二电子设备基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第二电子设备本地的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
所述第一电子设备获取所述第二电子设备通过区块链发送的所述切分树节点文件,基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第一电子设备的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
所述第一电子设备将所述两个下一级的当前树节点文件逐个通过区块链发送至所述第二电子设备;
所述第一电子设备与所述第二电子设备迭代生成各自本地的两个下一级的当前树节点文件,直至满足迭代停止条件;
所述第一电子设备和所述第二电子设备对各自本地的所有树节点文件按照文件名进行关联,生成分类与回归树。
进一步地,所述第一电子设备和所述第二电子设备各自基于所述固定值中的学习率、前一棵回归树中的各叶子节点用户的真实标签以及各所述叶子节点用户的预测标签,获取各所述叶子节点用户对应的残差;
所述第一电子设备和所述第二电子设备基于各自本地的当前数据集以及各所述叶子节点用户对应的残差,生成所述第一电子设备和所述第二电子设备各自本地的新的当前数据集;
所述第一电子设备和所述第二电子设备基于梯度提升树算法以及各自本地的新的当前数据集,通过区块链生成所述前一棵回归树的后一棵回归树并进行迭代,直至回归树数量达到所述固定值中的最大树数量。
进一步地,所述第一电子设备具体用于:
基于所述当前节点参数、所述固定值以及所述当前数据集,判断当前节点是否为非叶子节点;
在所述当前节点为非叶子节点时,遍历所述当前数据集中每个第一特征的每个变量及每个所述变量的值作为切分变量和切分点,寻找最小的损失值,并确定所述最小的损失值对应的第一特征、变量以及变量值;以及
基于所述最小的损失值、所述最小的损失值对应的第一特征、变量以及变量值更新所述当前节点参数,生成所述当前树节点文件;
在所述当前节点为叶子节点时,将叶子节点用户的真实标签的平均值确定为所述当前节点的预测值,并基于所述当前节点的预测值更新所述当前节点参数,生成所述当前树节点文件。
本发明实施例提供的技术方案带来的有益效果是:
1,保证了实现梯度提升树模型的生成过程中,双方都不能获取对方的特征数据,避免了泄露双方持有的特征数据,并且在不泄露双方持有的特征数据的情况下,通过扩充数据特征维度进行训练,提高了模型训练效果;
2,在实现梯度提升树模型的生成过程中,通过使用区块链技术,可以对交互的数据进行审计,能够保证数据交互过程的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种梯度提升树模型的生成方法的应用环境图;
图2是本发明实施例提供的一种梯度提升树模型的生成方法的流程示意图;
图3是图2所示方法中步骤203的生成基础回归树的流程示意图;
图4是图2所示方法中步骤203的迭代生成回归树的流程示意图;
图5是本发明实施例提供的树节点文件的生成方法的流程示意图;
图6是本发明实施例提供的树文件的生成方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的梯度提升树模型的生成方法,可以应用于如图1所示的应用环境中。其中,第一电子设备101和第二电子设备102通过区块链103进行数据交互,第一电子设备101可以指第一数据方所使用的电子设备,第二电子设备102可以指第二数据方所使用的电子设备,第一电子设备101和第二电子设备102可以为各种计算机设备,例如台式计算机或服务器等设备,这些设备具备网络通信等功能,区块链103包括位于区块链网络中的多个节点设备。第一电子设备101基于多个样本的多个第一特征及真实标签构建第一电子设备101本地的数据集,并至少将各样本的真实标签通过区块链103发送至第二电子设备102;第二电子设备102基于各样本的多个第二特征以及从区块链103中接收到的各样本的真实标签,构建第二电子设备102本地的数据集,第一电子设备101和第二电子设备102基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,并从基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。本发明实施例提供的方法可以应用于在多个数据方持有同一批用户的不同特征数据时,通过对该批用户的不同特征数据联合训练以生成梯度提升树模型的场景中。
其中,区块链是一种分布式数据存储、点对点传输、共识机制和加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效记录交易,且可永久查验此交易(不可篡改)。共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;也就是说,共识机制是区块链网络各节点共同认可的一种数学算法。
实施例一
本发明实施例提供了一种梯度提升树模型的生成方法,如图2所示,该方法可以包括步骤:
201、第一数据方基于多个样本的多个第一特征及真实标签构建第一数据方本地的数据集,并至少将各样本的真实标签通过区块链发送至第二数据方。
本实施例中,第一数据方和第二数据方可以是两个不同公司,例如,第一数据方为保险公司,拥有一批用户的多个维度的客户保险特征数据和对应的行为标签(如是否购买保险产品),多个维度的客户保险特征数据例如包括用户性别、职业、年龄、教育程度、贷款、贷款逾期记录、购买的保险类别等,购买行为信息等。第二数据方为流量平台(例如今日头条),拥有该批用户的多个维度的网上行为特征数据,例如浏览过某类视频的时长、次数等。
具体地,第一数据方拥有用户{1,2,…,k}的m个特征维度的数据集X={x1,x2,…,xk,Y},其中xi均为m维向量,记为第一特征,Y为真实标签列,Y={y1,y2,…,yk},其中yi为一维向量;第二数据方拥有用户{1,2,…,k}的n个特征维度的数据集X′={x′1,x′2,…,x′k},其中x′i均为n维向量,记为第二特征。这里,m与n均为正整数,m与n可以相同或不同。
其中,第一数据方至少将各样本的真实标签通过区块链发送至第二数据方,可以包括:
第一数据方设置梯度提升树算法的固定值,将梯度提升树算法的固定值与多个样本用户的真实标签通过区块链发送至第二数据方,其中,固定值包括回归树的最大深度、回归树的最大树数量、学习率、节点最小样本数。
202、第二数据方基于各样本的多个第二特征以及从区块链中接收到的各样本的真实标签,构建第二数据方本地的数据集。
具体地,第二数据方接收各样本的真实标签和梯度提升树算法的固定值,将各样本的真实标签和各样本的多个第二特征进行组合,得到本地的数据集。
203、第一数据方与第二数据方基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,并从基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。
其中,回归树中包括多个节点,多个节点包括非叶子节点和叶子节点,非叶子节点对应的节点参数中包括特征切分变量和特征切分点,特征切分变量和特征切分点用于对用户的特征数据进行切分处理,以确定该用户是属于该非叶子节点的左子节点还是属于该非叶子节点的右子节点。
在一个优选实施方式中,如图3所示,步骤203中第一数据方与第二数据方基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,该过程可以包括:
S1,第一数据方和第二数据方基于各自本地的当前节点参数、梯度提升树算法的固定值以及各自本地的当前数据集,生成各自本地的当前树节点文件。
其中,第一数据方和第二数据方基于各自本地的当前节点参数分别包括当前树的深度、当前树的编号值、最小损失值、切分变量、切分点、左子树文件名、左子树用户索引、右子树文件名、右子树用户索引、是否为非叶子节点以及预测值。
其中,第一数据方和第二数据方各自生成本地的当前树节点文件后,分别将各自本地的当前树节点文件存放至各自本地的工作目录下。
在一个实施例方式中,上述步骤S1中第一数据方生成本地的当前树节点文件,该过程可以包括:
S1.1,第一数据方基于当前节点参数、固定值以及当前数据集,判断当前节点是否为非叶子节点,若是,则执行步骤S1.2,若否,则执行步骤S1.4;
S1.2,遍历当前数据集中每个第一特征的每个变量及每个变量的值作为切分变量和切分点,寻找最小的损失值,并确定最小的损失值对应的第一特征、变量以及变量值。
S1.3,基于最小的损失值、最小的损失值对应的第一特征、变量以及变量值更新当前节点参数,生成当前树节点文件。
S1.4,将叶子节点用户的真实标签的平均值确定为当前节点的预测值,并基于当前节点的预测值更新当前节点参数,生成当前树节点文件。
可以理解的是,第二数据方生成本地的当前树节点文件的过程可以参照步骤S1.1至步骤S1.4,此处不再赘述。
S2,第二数据方获取第一数据方通过区块链发送的第一数据方本地的当前树节点文件,并在第一数据方本地的当前树节点文件与第二数据方本地的当前树节点文件中,选择最小的损失值对应的当前树节点文件作为切分树节点文件。
S3,第二数据方基于切分树节点文件中的左子树用户索引和右子树用户索引将第二数据方本地的当前数据集划分成两个新的数据集,并基于切分树节点文件中的节点参数以及两个新的数据集,生成本地的两个下一级的当前树节点文件。
其中,当第二数据方基于切分树节点文件中的节点参数以及两个新的数据集,生成本地的两个下一级的当前树节点文件后,切分树节点文件从第二数据方本地的工作目录被移至第一数据方本地的结果目录,两个下一级的当前树节点文件被存放至第二数据方本地的工作目录下。
S4,第一数据方获取第二数据方通过区块链发送的切分树节点文件,基于切分树节点文件中的左子树用户索引和右子树用户索引将第一数据方的当前数据集划分成两个新的数据集,并基于切分树节点文件中的节点参数以及两个新的数据集,生成本地的两个下一级的当前树节点文件。
其中,当第一数据方基于切分树节点文件中的节点参数以及两个新的数据集,生成本地的两个下一级的当前树节点文件后,切分树节点文件从第一数据方本地的工作目录被移至第一数据方本地的结果目录,两个下一级的当前树节点文件被存放至第一数据方本地的工作目录下。
S5,第一数据方将本地的两个下一级的当前树节点文件逐个通过区块链发送至第二数据方。
S6,迭代执行步骤S2至步骤S5,直至满足迭代停止条件。
其中,迭代停止条件可以是第一数据方本地的工作目录下的所有当前树节点文件全部被移至第一数据方本地的结果目录下。
S7,第一数据方和第二数据方对各自本地的所有树节点文件按照文件名进行关联,生成基础回归树。
具体地,步骤S7中第一数据方和第二数据方可以采用如下方法生成基础回归树,包括步骤S71至步骤S74:
S71,在本地所有的树节点文件中确定出根树节点文件,并从根树节点文件中获取根节点参数以作为当前节点参数;
S72,若当前节点参数指示当前节点为非叶子节点,则获取当前树节点文件的两个下一级的树节点文件;
S73,根据各个下一级的树节点文件中的节点参数,确定出当前节点的两个下一级节点,并对当前节点与两个下一级节点进行关联;
S74,以每个下一级节点分别作为下一级的当前节点,迭代方式执行步骤S72至步骤S73,直至遍历完所有的树节点文件,得到基础回归树,得到所述基础回归树,得到基础回归树。
在一个优选实施方式中,步骤203的实现过程除了包括图3所示的步骤S1至步骤S7之外,还包括如图4所示的步骤S8至步骤S11,以迭代生成回归树,为了描述简洁起见,省略了图3中描述的步骤,如图4所示,从基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量,该过程可以包括:
S8,第一数据方和第二数据方各自基于固定值中的学习率、前一棵回归树中的各叶子节点用户的真实标签以及各叶子节点用户的预测标签,获取各叶子节点用户对应的残差。
其中,当仅生成梯度提升模型的基础回归树时,前一棵回归树是指基础回归树。
S9,第一数据方和第二数据方基于各自本地的当前数据集以及各叶子节点用户对应的残差,生成第一数据方和第二数据方各自本地的新的当前数据集。
S10,针对第一数据方和第二数据方各自本地的新的当前数据集,重复执行步骤S1至步骤S7,得到前一棵回归树的后一棵回归树。
S11,迭代执行步骤S8至步骤S10,直至回归树数量达到固定值中的最大树数量。
本实施例中,在梯度提升树模型的生成过程中,由于第一数据方和第二数据方都不能获取对方的特征数据,避免了泄露双方持有的特征数据,并且在不泄露双方持有的特征数据的情况下,通过扩充数据特征维度进行训练,提高了模型训练效果;另外,通过使用区块链技术,可以对交互的数据进行审计,能够保证数据交互过程的安全性。
在一个实施优选方式中,在步骤203之后,方法还可以包括:
a、第一数据方基于待测用户的第一特征数据以及预先与第二数据方联合训练生成的梯度提升树模型,获取第一特征数据在梯度提升树模型中所对应的节点值。
具体地,第一数据方提取梯度提升树模型中的回归树的所有特征切分变量以及各特征切分变量对应的切分点,并在所有特征切分变量中确定出属于第一数据方的目标特征切分变量,将第一特征数据与目标特征切分变量对应的切分点进行比较,根据比较结果,获取第一特征数据在梯度提升树模型中对应的节点值,当第一特征数据小于等于目标特征切分变量对应的切分点时,则将对应的节点值记为true,当第一特征数据大于目标特征切分变量对应的切分点时,则将对应的节点值记为false。
b、第二数据方基于待测用户的第一特征数据以及预先与第二数据方联合训练生成的梯度提升树模型,获取第一特征数据在梯度提升树模型中所对应的节点值,并通过区块链发送的待测用户的第二特征数据在梯度提升树模型中所对应的节点值。
具体地,步骤b的实现过程可以参照上述步骤a,此处不再赘述。
c、第一数据方基于第一特征数据对应的节点值、第二特征数据对应的节点值以及梯度提升树模型,对待测用户进行标签预测。
具体地,该过程可以包括:
步骤c.1,将梯度提升树模型的基础回归树作为当前回归树;
步骤c.2,设置当前回归树的根节点为父节点;
步骤c.3,基于第一特征数据对应的节点值以及第二特征数据对应的节点值,在当前回归树中确定待测用户对应的子节点是父节点的左子节点还是父节点的右子节点,并执行步骤c.4;
步骤c.4,判断确定出的子节点是否为非叶子节点,若判断为是,则执行步骤c.5,否则,则执行步骤c.6;
步骤c.5,设置子节点为父节点,并跳转到步骤c.3;
步骤c.6,将子节点对应的预测值确定为当前回归树对待测用户的预测值,并执行步骤c.7;
步骤c.7,以当前回归树的下一棵回归树作为当前回归树,重复执行步骤c.2至步骤c.6,直至获得梯度提升树模型的最后一棵回归树对待测用户的预测值。
本实施例中,在第一数据方和第二数据方各自本地生成联合训练的梯度提升树模型后,基于该梯度提升树模型进行预测时,两个数据方双方都不能获取对方的特征数据,避免了泄露双方持有的特征数据,并且在不泄露双方持有的特征数据的情况下,通过扩充数据特征维度进行预测,提高了预测结果的准确性,另外,通过使用区块链技术,可以对交互的数据进行审计,能够保证数据交互过程的安全性。
实施例二
基于上述实施例一,本发明实施例提供一种梯度提升树模型的生成方法,假设第一数据方A拥有用户{1,2,…,k}的m个特征维度的数据集X={x1,x2,…,xk,Y},其中Y为标签列,Y={y1,y2,…,yk},其中yi为一维向量,xi均为m维向量。第二数据方B拥有用户{1,2,…,k}的另外n个特征维度的数据集X′={x′1,x′2,…,x′k},其中x′i均为n维向量。这里,m与n均为正整数,m与n可以相同或不同。梯度提升树模型的生成方法可以包括如下步骤:
1,A设置固定值:回归树的最大深度D,回归树的最大树数量N,学习率R,节点最小样本数S。
2,A创建结果目录ResultDira,工作目录WorkDira,接收文件目录ReceiveDira,树文件目录TreeDira,再将Y和固定值通过区块链发送给B。
3,B接收到Y和固定值,将Y和X′组合,得到新的X′={x′1,x′2,…,x′k,Y}。创建结果目录ResultDirb,工作目录WorkDirb,接收文件目录ReceiveDirb,树文件目录TreeDirb。
4,A初始化树节点,设置数据集为Ta=X,参数集合={当前树的深度da=0,当前树的编号值na=1,最小损失值MinLossa=0,切分变量(ja min,ka min)=null,切分点sa min=0,左子树的文件名fa left=null,左子树的用户索引indexa left=null,右子树的文件名fa right=null,右子树的用户索引indexa right=null,is_leafa=false,预测值a=null},树节点序列化后写入的文件名fa=‘0.txt’。
5,A针对传入的参数集合,数据集Ta,文件名fa,生成此数据集对应的最小损失值,并将相关信息写入文件fa。如图5所示,树节点文件的生成方法可以包括:
5.1如果da=D,或数据集Ta的长度小于S,则标记is_leafa为false,转到步骤5.4,否则标记is_leafa为true,转到步骤5.2。
5.2遍历数据集T的每个特征的每个变量和变量取的值作为切分变量和切分点,寻找最小的损失值。方法为:
选择第j个特征的第k个变量tjk和它取的值s,分别作为切分变量和切分点,并定义两个区域:
左子树区域:R1(jk,s)={t|tjk≤s}
右子树区域:R2(jk,s)={t|tjk>s}
其中:j∈[0,m],k∈[1,k]
然后计算它的损失值loss,公式为:
其中c1表示属于R1(jk,s)的所有yi的值的平均数,c2表示属于R2(jk,s)的yi的值的平均数。
遍历数据集,计算出所有的loss,找到其中最小的loss,此处称为Minloss,对应的j、k、s、左子树、右子树记为jmin、kmin、smin、R1(jminkmin,smin)、R2(jminkmin,smin)。
5.3将参数集合a={da,na,最小损失值MinLossa,切分变量(ja min,ka min),
切分点sa min,左子树的文件名fa left,左子树的用户索引indexa left,右子树的文件名fa right,右子树的用户索引indexa right,预测值a=null}写入文件fa,并存放入$(WorkDira)。
左右子树对应文件名命名规则如下:左子树的文件名在fa后追加一个‘0’,文件后缀不变;右子树文件名在fa后追加一个‘1’,文件后缀不变。比如,fa=‘0.txt’,左子树文件名则为‘00.txt’,右子树文件名为‘01.txt’。用户索引定义如下:索引的长度为k的数组,左子树的用户索引为属于左子树的用户标记上1,其他用户标记成0;右子树的用户索引为属于右子树的用户标记上1,其他用户标记成0。
5.4计算此叶子节点的预测值,预测值为叶子节点用户的Y列平均值。将参数集合a={da,na,最小损失值MinLossa=0,切分变量(ja min,ka min)=null,切分点sa min=0,左子树的文件名fa left=null,左子树的用户索引indexa lef=null t,右子树的文件名fa right=null,右子树的用户索引indexa right=null,is_leafa=true,预测值a}写入文件fa,并存放入$(WorkDira)。
6,A将fa通过区块链发送给B。
7,B用自己的数据集X′,用步骤5相同的方式获得参数集合b={db,nb,最小损失值MinLossb,切分变量(jb min,kb min),切分点sb min,左子树的文件名fb left,左子树的用户索引indexb left,右子树的文件名fb right,右子树的用户索引indexb right,is_leafb},并生成文件fb,存放入WorkDirb。
8,B从区块链上接收到fa,存放入$(ReceiveDirb),然后对fa进行反序列化,获得参数集合a。由于命名规则一样,所以A和B相同节点的文件名是一样的。根据fa文件名在WorkDirb找到相同文件名的fb,同样进行反序列化,得到参数集合b。
8.1,如果minlossa<minlossb则选择A的切分方式进行后处理,方式为:
8.1.1,如果is_leafa=false,则:
根据fa反序列化后得到的indexa left和indexa right将数据集划分为左右两个数据集,Ta left和Ta right,文件名为fa left和fa right,并设置da=da+1,当前树的值为na。针对Ta left,da,na,fa left,和针对Ta right,da,na,fa right,参照步骤5生成两个新的文件fa left和fa right,并存放入WorkDirb。
8.1.2,用fa替换fb,作为本方的划分节点,并移出WorkDirb,加入到ResultDirb,然后通过区块链发送通知SigMessage给B。
8.2,如果minlossa>=minlossb则选择B的切分方式进行后处理,方式为:
8.2.1,如果is_leafb=false,则:
根据fb反序列化后得到的indexb left和indexb right将数据集划分为左右两个数据集,Tb left和Tb right,文件名为fb left和fb right,并设置db=db+1,当前树的值为nb。针对Tb left,db,nb,fb left,和针对Tb right,db,nb,fb right,参照步骤5生成两个新的文件fb left和fb right,并存放入WorkDirb。
8.2.2,将fb移出WorkDirb,加入到ResultDirb,同时将fb通过区块链发送给A。
9,A接收到通知SigMessage,使用WorkDira下的文件fa开始继续划分节点。
对fa反序列化后得到参数集合a。
9.1,如果is_leafa=false,则:
根据fa反序列化后得到的indexa left和indexa right将数据集划分为左右两个数据集,Ta left和Ta right,文件名为fa left和fa right,并设置da=da+1,当前树的值为na。针对Ta left,da,na,fa left,和针对Ta right,da,na,fa right,参照步骤5生成两个新的文件fa left和fa right,并存放入WorkDira。
9.2,将fa移出WorkDira,加入到ResultDira。
10,A接收到文件fb,存入ReceiveDira,并替换WorkDira的fa,使用文件fb开始继续划分节点。对反序列化后得到参数集合参数集合b。
10.1,如果is_leafb=false:
根据fb反序列化后得到的indexb left和indexb right将数据集划分为左右两个数据集Tb left和Tb right,文件名为fb left和fb right,并设置db=db+1,当前树的值为nb。针对Tb left,db,nb,fb left和针对Tb right,db,nb,fb right,参照步骤5生成两个新的文件fb left和fb right,并存放入WorkDira。
10.2,将fb移出WorkDira,加入到ResultDira。
11,A随机选择WorkDira中的一个文件,发送给B。
12,执行步骤8至步骤11,直到A的工作目录下面没有文件。
13,A通过区块链发送信号SigStop给B,通知B此树已经无法再往下划分。
14,B收到SigStop,进入步骤15。
15,A和B分别对ResultDira和ResultDirb的所有文件进行反序列化,通过文件名将所有的节点进行关联,从而组合成完整的分类与回归树。如图6所示,分类与回归树文件的生成方法可以包括:
15.1,读取根节点文件‘0.txt’,对根节点文件进行反序列化,得到参数集合,并设置为树的根节点。
15.2,判断参数集合,如果is_leaf=false:读取fa left和fa right对应的文件,进行反序列化,将树的父节点和树的子节点进行关联。设置父节点的左子节点为fa left反序列化后得到的参数集合,右子节点为fa right反序列化后得到的参数集合。对反序列化得到的两个子节点的参数集合再执行本步骤直到遍历所有的文件。
15.3,将此树分别序列化成文件Tree_na.txt和Tree_nb.txt并各自存储在TreeDira和TreeDirb中。然后再用实际的Y值减去每个叶子节点用户的预测值乘以学习率,得到残差,并将残差追加到X和X'中得到新的X和X',并使用此残差替换Y进行训练。最后清空ResultDira、ResultDirB、WorkDira、WorkDirb、ReceiveDirb、ReceiveDirb的所有文件。
16,A拟合第二棵树:设置n=n+1,Ta=Xa,da=0,is_leafa=false,文件名为’0.txt’,使用步骤15获得的新X,X’,重复步骤5到步骤15生成新的分类与回归树。如此重复,直到树数量n=N。
17,最终在没有泄露双方原始特征数据的前提下,双方均获得了模型训练结果,并序列化成文件存储在文件夹TreeDira和TreeDirb中。
综上,本发明实施例提供的梯度提升树模型的生成方法,在对两个数据方拥有的相同的用户进行联合训练梯度提升树模型时,不会泄露双方的用户原始标签数据,并通过扩充数据特征维度进行训练,提高了模型训练效果;而且通过使用区块链技术,可以对交互的数据进行审计,能够保证数据交互过程的安全性。
实施例三
本发明实施例提供了一种梯度提升树模型的生成系统,该系统包括:
第一电子设备,用于基于多个样本的多个第一特征及真实标签构建第一电子设备本地的数据集,并至少将各样本的真实标签通过区块链发送至第二电子设备;
第二电子设备,用于基于各样本的多个第二特征以及从区块链中接收到的各样本的真实标签,构建第二电子设备本地的数据集;
第一电子设备和第二电子设备,还用于基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,并从基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。
在一个优选实施方式中,第一电子设备具体用于:
将梯度提升树算法的固定值与多个样本用户的真实标签通过区块链发送至第二电子设备,其中,固定值包括回归树的最大深度、最大树数量、学习率以及节点最小样本数。
在一个优选实施方式中,第一电子设备和第二电子设备基于各自本地的当前节点参数、梯度提升树算法的固定值以及各自本地的当前数据集,生成各自本地的当前树节点文件;
第二电子设备获取第一电子设备通过区块链发送的第一电子设备本地的当前树节点文件,并在第一电子设备本地的当前树节点文件与第二电子设备本地的当前树节点文件中,选择最小的损失值对应的当前树节点文件作为切分树节点文件;
第二电子设备基于切分树节点文件中的左子树用户索引和右子树用户索引将第二电子设备本地的当前数据集划分成两个新的数据集,并基于切分树节点文件中的节点参数以及两个新的数据集,生成本地的两个下一级的当前树节点文件;
第一电子设备获取第二电子设备通过区块链发送的切分树节点文件,基于切分树节点文件中的左子树用户索引和右子树用户索引将第一电子设备的当前数据集划分成两个新的数据集,并基于切分树节点文件中的节点参数以及两个新的数据集,生成本地的两个下一级的当前树节点文件;
第一电子设备将两个下一级的当前树节点文件逐个通过区块链发送至第二电子设备;
第一电子设备与第二电子设备迭代生成各自本地的两个下一级的当前树节点文件,直至满足迭代停止条件;
第一电子设备和第二电子设备对各自本地的所有树节点文件按照文件名进行关联,生成分类与回归树。
在一个优选实施方式中,第一电子设备和第二电子设备各自基于固定值中的学习率、前一棵回归树中的各叶子节点用户的真实标签以及各叶子节点用户的预测标签,获取各叶子节点用户对应的残差;
第一电子设备和第二电子设备基于各自本地的当前数据集以及各叶子节点用户对应的残差,生成第一电子设备和第二电子设备各自本地的新的当前数据集;
第一电子设备和第二电子设备基于梯度提升树算法以及各自本地的新的当前数据集,通过区块链生成前一棵回归树的后一棵回归树并进行迭代,直至回归树数量达到固定值中的最大树数量。
在一个优选实施方式中,第一电子设备具体用于:
基于当前节点参数、固定值以及当前数据集,判断当前节点是否为非叶子节点;
在当前节点为非叶子节点时,遍历当前数据集中每个第一特征的每个变量及每个变量的值作为切分变量和切分点,寻找最小的损失值,并确定最小的损失值对应的第一特征、变量以及变量值;以及
基于最小的损失值、最小的损失值对应的第一特征、变量以及变量值更新当前节点参数,生成当前树节点文件;
在当前节点为叶子节点时,将叶子节点用户的真实标签的平均值确定为当前节点的预测值,并基于当前节点的预测值更新当前节点参数,生成当前树节点文件
本实施例提供的梯度提升树模型的生成系统,与本发明实施例所提供的梯度提升树模型的生成方法属于同一发明构思,可执行本发明实施例所提供的梯度提升树模型的生成方法,具备执行梯度提升树模型的生成方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例提供的梯度提升树模型的生成方法,此处不再加以赘述。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种梯度提升树模型的生成方法,其特征在于,所述方法包括:
第一数据方基于多个样本的多个第一特征及真实标签构建所述第一数据方本地的数据集,并至少将各所述样本的真实标签通过区块链发送至第二数据方;
所述第二数据方基于各所述样本的多个第二特征以及从区块链中接收到的各所述样本的真实标签,构建所述第二数据方本地的数据集;
所述第一数据方与所述第二数据方基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树;以及
从所述基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。
2.根据权利要求1所述的方法,其特征在于,所述第一数据方至少将各所述样本的真实标签通过区块链发送至第二数据方,包括:
所述第一数据方将所述梯度提升树算法的固定值与多个所述样本的真实标签通过区块链发送至第二数据方,其中,所述固定值包括回归树的最大深度、最大树数量、学习率以及节点最小样本数。
3.根据权利要求1或2所述的方法,其特征在于,所述第一数据方与所述第二数据方基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,包括:
S1,所述第一数据方和所述第二数据方基于各自本地的当前节点参数、所述梯度提升树算法的固定值以及各自本地的当前数据集,生成各自本地的当前树节点文件;
S2,所述第二数据方获取所述第一数据方通过区块链发送的所述第一数据方本地的当前树节点文件,并在所述第一数据方本地的当前树节点文件与所述第二数据方本地的当前树节点文件中,选择最小的损失值对应的当前树节点文件作为切分树节点文件;
S3,所述第二数据方基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第二数据方本地的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
S4,所述第一数据方获取所述第二数据方通过区块链发送的所述切分树节点文件,基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第一数据方的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
S5,所述第一数据方将本地的所述两个下一级的当前树节点文件逐个通过区块链发送至所述第二数据方;
S6,迭代执行步骤S2至步骤S5,直至满足迭代停止条件;
S7,所述第一数据方和所述第二数据方对各自本地的所有树节点文件按照文件名进行关联,生成所述基础回归树。
4.根据权利要求3所述的方法,其特征在于,所述从所述基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树的数量达到预设的树数量,包括:
S8,所述第一数据方和所述第二数据方各自基于所述固定值中的学习率、前一棵回归树中的各叶子节点用户的真实标签以及各所述叶子节点用户的预测标签,获取各所述叶子节点用户对应的残差;
S9,所述第一数据方和所述第二数据方基于各自本地的当前数据集以及各所述叶子节点用户对应的残差,生成所述第一数据方和所述第二数据方各自本地的新的当前数据集;
S10,针对所述第一数据方和所述第二数据方各自本地的新的当前数据集,重复执行步骤S1至步骤S7,得到所述前一棵回归树的后一棵回归树;
S11,迭代执行步骤S8至步骤S10,直至回归树数量达到所述固定值中的最大树数量。
5.根据权利要求3所述的方法,其特征在于,在步骤S1中所述第一数据方基于本地的当前节点参数、所述梯度提升树算法的固定值以及本地的当前数据集,生成本地的当前树节点文件,包括:
S1.1,基于所述当前节点参数、所述固定值以及所述当前数据集,判断当前节点是否为非叶子节点,若是,则执行步骤S1.2,若否,则执行步骤S1.4;
S1.2,遍历所述当前数据集中每个第一特征的每个变量及每个所述变量的值作为切分变量和切分点,寻找最小的损失值,并确定所述最小的损失值对应的第一特征、变量以及变量值;
S1.3,基于所述最小的损失值、所述最小的损失值对应的第一特征、变量以及变量值更新所述当前节点参数,生成所述当前树节点文件;
S1.4,将叶子节点用户的真实标签的平均值确定为所述当前节点的预测值,并基于所述当前节点的预测值更新所述当前节点参数,生成所述当前树节点文件。
6.一种梯度提升树模型的生成系统,其特征在于,所述系统包括:
第一电子设备,用于基于多个样本的多个第一特征及真实标签构建所述第一电子设备本地的数据集,并至少将各所述样本的真实标签通过区块链发送至第二电子设备;
所述第二电子设备,用于基于各所述样本的多个第二特征以及从区块链中接收到的各所述样本的真实标签,构建所述第二电子设备本地的数据集;
所述第一电子设备和所述第二电子设备,还用于基于梯度提升树算法以及各自本地的数据集,通过区块链进行联合生成梯度提升树模型的基础回归树,并从所述基础回归树开始,利用前一棵回归树预测出的标签与真实标签的残差进行迭代,以此训练得到后一棵回归树,直到回归树数量达到预设的树数量。
7.根据权利要求6所述的系统,其特征在于,所述第一电子设备具体用于:
将所述梯度提升树算法的固定值与多个所述样本的真实标签通过区块链发送至第二电子设备,其中,所述固定值包括回归树的最大深度、最大树数量、学习率以及节点最小样本数。
8.根据权利要求6或7所述的系统,其特征在于,
所述第一电子设备和所述第二电子设备基于各自本地的当前节点参数、所述梯度提升树算法的固定值以及各自本地的当前数据集,生成各自本地的当前树节点文件;
所述第二电子设备获取所述第一电子设备通过区块链发送的所述第一电子设备本地的当前树节点文件,并在所述第一电子设备本地的当前树节点文件与所述第二电子设备本地的当前树节点文件中,选择最小的损失值对应的当前树节点文件作为切分树节点文件;
所述第二电子设备基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第二电子设备本地的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
所述第一电子设备获取所述第二电子设备通过区块链发送的所述切分树节点文件,基于所述切分树节点文件中的左子树用户索引和右子树用户索引将所述第一电子设备的当前数据集划分成两个新的数据集,并基于所述切分树节点文件中的节点参数以及所述两个新的数据集,生成本地的两个下一级的当前树节点文件;
所述第一电子设备将所述两个下一级的当前树节点文件逐个通过区块链发送至所述第二电子设备;
所述第一电子设备与所述第二电子设备迭代生成各自本地的两个下一级的当前树节点文件,直至满足迭代停止条件;
所述第一电子设备和所述第二电子设备对各自本地的所有树节点文件按照文件名进行关联,生成分类与回归树。
9.根据权利要求8所述的系统,其特征在于,
所述第一电子设备和所述第二电子设备各自基于所述固定值中的学习率、前一棵回归树中的各叶子节点用户的真实标签以及各所述叶子节点用户的预测标签,获取各所述叶子节点用户对应的残差;
所述第一电子设备和所述第二电子设备基于各自本地的当前数据集以及各所述叶子节点用户对应的残差,生成所述第一电子设备和所述第二电子设备各自本地的新的当前数据集;
所述第一电子设备和所述第二电子设备基于梯度提升树算法以及各自本地的新的当前数据集,通过区块链生成所述前一棵回归树的后一棵回归树并进行迭代,直至回归树数量达到所述固定值中的最大树数量。
10.根据权利要求8所述的系统,其特征在于,所述第一电子设备具体用于:
基于所述当前节点参数、所述固定值以及所述当前数据集,判断当前节点是否为非叶子节点;
在所述当前节点为非叶子节点时,遍历所述当前数据集中每个第一特征的每个变量及每个所述变量的值作为切分变量和切分点,寻找最小的损失值,并确定所述最小的损失值对应的第一特征、变量以及变量值;以及
基于所述最小的损失值、所述最小的损失值对应的第一特征、变量以及变量值更新所述当前节点参数,生成所述当前树节点文件;
在所述当前节点为叶子节点时,将叶子节点用户的真实标签的平均值确定为所述当前节点的预测值,并基于所述当前节点的预测值更新所述当前节点参数,生成所述当前树节点文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010059708.XA CN111309848A (zh) | 2020-01-19 | 2020-01-19 | 一种梯度提升树模型的生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010059708.XA CN111309848A (zh) | 2020-01-19 | 2020-01-19 | 一种梯度提升树模型的生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111309848A true CN111309848A (zh) | 2020-06-19 |
Family
ID=71156352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010059708.XA Pending CN111309848A (zh) | 2020-01-19 | 2020-01-19 | 一种梯度提升树模型的生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309848A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052875A (zh) * | 2020-07-30 | 2020-12-08 | 华控清交信息科技(北京)有限公司 | 一种训练树模型的方法、装置和用于训练树模型的装置 |
CN113420072A (zh) * | 2021-06-24 | 2021-09-21 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165683A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
CN110162556A (zh) * | 2018-02-11 | 2019-08-23 | 陕西爱尚物联科技有限公司 | 一种有效发挥数据价值的方法 |
US20190392264A1 (en) * | 2017-05-22 | 2019-12-26 | Tencent Technology (Shenzhen) Company Limited | Face detection method and apparatus, computer device, and storage medium |
-
2020
- 2020-01-19 CN CN202010059708.XA patent/CN111309848A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190392264A1 (en) * | 2017-05-22 | 2019-12-26 | Tencent Technology (Shenzhen) Company Limited | Face detection method and apparatus, computer device, and storage medium |
CN110162556A (zh) * | 2018-02-11 | 2019-08-23 | 陕西爱尚物联科技有限公司 | 一种有效发挥数据价值的方法 |
CN109165683A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052875A (zh) * | 2020-07-30 | 2020-12-08 | 华控清交信息科技(北京)有限公司 | 一种训练树模型的方法、装置和用于训练树模型的装置 |
CN113420072A (zh) * | 2021-06-24 | 2021-09-21 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113420072B (zh) * | 2021-06-24 | 2024-04-05 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347889B2 (en) | Data processing systems for generating and populating a data inventory | |
US11558429B2 (en) | Data processing and scanning systems for generating and populating a data inventory | |
US11921894B2 (en) | Data processing systems for generating and populating a data inventory for processing data access requests | |
US10565236B1 (en) | Data processing systems for generating and populating a data inventory | |
US10438016B2 (en) | Data processing systems for generating and populating a data inventory | |
US10438020B2 (en) | Data processing systems for generating and populating a data inventory for processing data access requests | |
US20190258654A1 (en) | Data processing systems for generating and populating a data inventory | |
US20060161596A1 (en) | Method and system for synchronizing multiple user revisions to a balanced scorecard | |
CN111444410A (zh) | 一种基于知识图谱的关联交易挖掘识别方法及装置 | |
CN104361119A (zh) | 一种数据清理的方法及系统 | |
CN112529429B (zh) | 客户信息校验方法、装置、计算机设备及存储介质 | |
CN107315751A (zh) | 多维数据查询方法和装置 | |
CN111309848A (zh) | 一种梯度提升树模型的生成方法及系统 | |
US10282700B2 (en) | Data processing systems for generating and populating a data inventory | |
US11853400B2 (en) | Distributed machine learning engine | |
CN112508119A (zh) | 特征挖掘组合方法、装置、设备及计算机可读存储介质 | |
CN107194280A (zh) | 模型建立方法及装置 | |
US20200059476A1 (en) | System and method of business role mining | |
CN113034231B (zh) | 一种基于SaaS云服务的多供应链商品智能推荐系统及方法 | |
US20220164374A1 (en) | Method of scoring and valuing data for exchange | |
US20220058658A1 (en) | Method of scoring and valuing data for exchange | |
CN111242385A (zh) | 一种梯度提升树模型的预测方法、装置及系统 | |
KR102432554B1 (ko) | 인공지능 기반 부동산 계약서에 유용한 특약 조건을 예측하는 부동산 거래 플랫폼의 운영 방법 | |
KR102432552B1 (ko) | 인공지능 기반 매수인에게 매물을 자동으로 추천하는 부동산 거래 플랫폼의 운영 방법 | |
Poor et al. | A genetic programming based algorithm for predicting exchanges in electronic trade using social networks’ data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |