一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据预测模型的创建方法、预测方法、装置及存储介质与流程

2022-03-05 03:57:46 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,尤其涉及一种数据预测模型的创建方法、预测方法、装置及存储介质。


背景技术:

2.联邦机器学习又称为联邦学习,能有效帮助多个机构在满足用户隐私保护、数据安全的前提下,进行数据使用和机器学习建模。根据数据和任务特点的不同可以分为纵向联邦学习、横向联邦学习以及联邦迁移学习。
3.纵向联邦学习是在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行模型训练。以信贷风控领域为例,基于不同机构(例如银行、电商等)的用户数据样本,可建立对用户偿还贷款能力的预测模型,基于该预测模型,可对目标用户的多维度特征数据进行分析,最终确定该用户是否具有偿还贷款能力的预测结果。
4.在纵向联邦学习场景下,如何创建高性能、安全性的数据预测模型是目前研究的热点问题。


技术实现要素:

5.本技术实施例提供一种数据预测模型的创建方法、预测方法、装置及存储介质,可提升创建的数据预测模型的性能。
6.本技术实施例的第一方面提供一种数据预测模型的创建方法,该方法应用于发起方设备,所述数据预测模型采用二叉树结构,所述方法包括:
7.获取第一样本集合,所述第一样本集合为初始的二叉树结构根节点的待划分样本集合,所述第一样本集合包括所述发起方设备和参与方设备共有的样本;
8.根据所述第一样本集合在所述发起方设备和所述参与方设备的样本划分评估参数,确定所述根节点的目标划分特征;所述样本划分评估参数用于指示样本划分的误差率,所述目标划分特征为样本在所述发起方设备或所述参与方设备的其中一个特征;
9.根据所述目标划分特征获取所述根节点的子节点的样本集合;
10.向所述参与方设备发送所述根节点的实际划分信息,所述实际划分信息至少用于指示所述目标划分特征;
11.根据所述发起方设备对所述根节点的所述第一样本集合的划分方式,获取所述根节点的每一级子节点的样本集合的划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,停止样本划分,将停止划分时的二叉树结构作为所述数据预测模型。
12.在第一方面的一个可选实施例中,所述根据所述第一样本集合在所述发起方设备和所述参与方设备的样本划分评估参数,确定所述根节点的目标划分特征,包括:
13.获取所述发起方设备采用第一特征划分所述第一样本集合的第一划分结果,以及
参与方设备采用第二特征划分所述第一样本集合的第二划分结果;所述第一特征包括样本在所述发起方设备的至少一个特征,所述第二特征包括样本在所述参与方设备的至少一个特征;
14.根据所述第一划分结果确定所述第一样本集合在所述发起方设备的样本划分评估参数;根据所述第二划分结果确定所述第一样本集合在所述参与方设备的样本划分评估参数;
15.根据所述第一样本集合在所述发起方设备和所述参与方设备的样本划分评估参数,从所述第一特征和所述第二特征中确定所述目标划分特征,所述目标划分特征为实际划分所述根节点的所述第一样本集合的特征。
16.在第一方面的一个可选实施例中,所述第一划分结果包括第一特征编号、采用所述第一特征划分所述第一样本集合的第一子样本集合以及第二子样本集合中样本的数量,所述第一特征编号为所述发起方设备生成的所述第一特征对应的随机编号;
17.所述根据所述第一划分结果确定所述第一样本集合在所述发起方设备的样本划分评估参数,包括:
18.根据所述第一样本集合中样本的标注结果、所述第一划分结果中所述第一子样本集合以及所述第二子样本集合中样本的数量,确定所述第一子样本集合的第一样本划分评估参数以及所述第二子样本集合的第二样本划分评估参数;
19.根据所述第一样本划分评估参数和所述第二样本划分评估参数,确定所述第一样本集合在所述发起方设备的样本划分评估参数。
20.在第一方面的一个可选实施例中,所述第二划分结果包括第二特征编号、采用所述第二特征划分所述第一样本集合的第三子样本集合以及第四子样本集合中样本的数量,所述第二特征编号为所述参与方设备生成的所述第二特征对应的随机编号;
21.所述根据所述第二划分结果确定所述第一样本集合在所述参与方设备的样本划分评估参数,包括:
22.根据所述第一样本集合中样本的标注结果、所述第二划分结果中所述第三子样本集合以及所述第四子样本集合中样本的数量,确定所述第三子样本集合的第三样本划分评估参数以及所述第四子样本集合的第四样本划分评估参数;
23.根据所述第三样本划分评估参数和所述第四样本划分评估参数,确定所述第一样本集合在所述参与方设备的样本划分评估参数。
24.在第一方面的一个可选实施例中,所述实际划分信息至少用于指示所述目标划分特征,包括:
25.所述实际划分信息包括所述目标划分特征对应的随机编号;
26.若所述目标划分特征为样本在所述发起方设备的特征,所述目标划分特征对应的随机编号是所述发起方设备随机生成的;或者
27.若所述目标划分特征为样本在所述参与方设备的特征,所述目标划分特征对应的随机编号是所述参与方设备随机生成的。
28.在第一方面的一个可选实施例中,所述实际划分信息还包括所述根节点的两个子节点的样本集合,每个子节点的样本集合是所述第一样本集合的子集。
29.本技术实施例的第二方面提供一种数据预测模型的训练方法,该方法应用于参与
方设备,所述数据预测模型采用二叉树结构,所述方法包括:
30.获取第一样本集合,所述第一样本集合为初始的二叉树结构根节点的待划分样本集合,所述第一样本集合包括发起方设备和所述参与方设备共有的样本;
31.采用第二特征划分所述根节点的所述第一样本集合,得到第二划分结果,所述第二特征包括样本在所述参与方设备的至少一个特征;
32.向所述发起方设备发送所述第二划分结果,所述第二划分结果用于所述第一设备确定所述根节点的目标划分特征;
33.接收来自所述发起方设备的所述根节点的实际划分信息,所述实际划分信息至少用于指示所述目标划分特征,所述目标划分特征为样本在所述发起方设备或所述参与方设备的其中一个特征;
34.根据所述参与方设备对所述根节点的所述第一样本集合的划分方式,获取所述根节点的每一级子节点的样本集合的第三划分结果;
35.向所述发起方设备发送所述第三划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,接收来自所述发起方设备的通知消息,所述通知消息用于指示停止样本划分,将停止划分时的二叉树结构作为所述数据预测模型。
36.在第二方面的一个可选实施例中,所述第二划分结果包括第二特征编号、采用所述第二特征划分所述第一样本集合的第三子样本集合以及第四子样本集合中样本的数量,所述第二特征编号为所述参与方设备生成的所述第二特征对应的随机编号。
37.在第二方面的一个可选实施例中,所述实际划分信息至少用于指示目标划分特征,包括:
38.所述实际划分信息包括所述目标划分特征对应的随机编号;
39.若所述目标划分特征为样本在所述发起方设备的特征,所述目标划分特征对应的随机编号是所述发起方设备随机生成的;或者
40.若所述目标划分特征为样本在所述参与方设备的特征,所述目标划分特征对应的随机编号是所述参与方设备随机生成的。
41.在第二方面的一个可选实施例中,所述实际划分信息还包括所述根节点的两个子节点的样本集合,每个子节点的样本集合是所述第一样本集合的子集。
42.本技术实施例的第三方面提供一种数据预测方法,该方法应用于第一设备,第一设备可以是发起方设备或参与方设备,所述方法包括:
43.接收数据预测请求,所述数据预测请求包括查询对象;
44.获取所述查询对象在所述第一设备的特征数据,基于所述查询对象在所述第一设备的特征数据以及n个数据预测模型,得到n个数据预测结果,每个数据预测模型输出一个数据预测结果,每个数据预测结果用于指示所述查询对象的特征类别;每个数据预测模型均采用二叉树结构,且通过所述第一设备与第二设备共有的样本集合进行样本对象划分得到的,任意两个数据预测模型使用的样本集合中样本对象部分或全部不同;
45.根据所述n个数据预测结果,确定所述查询对象的特征类别;
46.输出所述特征类别。
47.在第三方面的一个可选实施例中,所述基于所述查询对象在所述第一设备的特征数据以及n个数据预测模型,得到n个数据预测结果,包括:
48.针对任意一个数据预测模型,从所述数据预测模型的根节点开始,根据所述数据预测模型中每个节点的划分信息以及所述查询对象在所述第一设备的特征数据,确定所述查询对象在所述数据预测模型中的划分走向,直至所述数据预测模型的最底层节点;所述划分信息至少用于指示节点的划分特征,所述划分特征为所述查询对象在所述第一设备或所述第二设备的特征;
49.将所述最底层节点的特征类别作为所述查询对象的一个数据预测结果。
50.在第三方面的一个可选实施例中,所述根据所述数据预测模型中每个节点的划分信息以及所述查询对象在所述第一设备的特征数据,确定所述查询对象在所述数据预测模型中的划分走向,包括:
51.针对第一节点,所述第一节点为所述数据预测模型中除所述最底层节点之外的任意一个节点:
52.若所述第一节点的划分信息指示的划分特征为所述查询对象在所述第一设备的特征,获取所述划分特征对应的划分阈值;根据所述划分阈值和所述查询对象在所述第一设备的特征数据,确定所述查询对象被划分至所述第一节点的左子节点或右子节点;或者
53.若所述第一节点的划分信息指示的划分特征为所述查询对象在所述第二设备的特征,向所述第二设备发送划分请求;接收所述第二设备返回的所述第一节点的划分结果,所述划分结果用于指示所述查询对象被划分至所述第一节点的左子节点或右子节点。
54.在第三方面的一个可选实施例中,所述根据所述n个数据预测结果,确定所述查询对象的特征类别,包括:
55.将所述n个数据预测结果中同一预测值个数最多的数据预测结果指示的特征类别作为所述查询对象的特征类别。
56.本技术实施例的第四方面提供一种数据预测模型的创建装置,包括:
57.获取模块,用于获取第一样本集合,所述第一样本集合为初始的二叉树结构根节点的待划分样本集合,所述第一样本集合包括所述发起方设备和参与方设备共有的样本;
58.处理模块,用于根据所述第一样本集合在所述发起方设备和所述参与方设备的样本划分评估参数,确定所述根节点的目标划分特征;所述样本划分评估参数用于指示样本划分的误差率,所述目标划分特征为样本在所述发起方设备或所述参与方设备的其中一个特征;
59.获取模块,还用于根据所述目标划分特征获取所述根节点的子节点的样本集合;
60.发送模块,用于向所述参与方设备发送所述根节点的实际划分信息,所述实际划分信息至少用于指示所述目标划分特征;
61.获取模块,还用于根据所述发起方设备对所述根节点的所述第一样本集合的划分方式,获取所述根节点的每一级子节点的样本集合的划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,处理模块停止样本划分,将停止划分时的二叉树结构作为所述数据预测模型。
62.本技术实施例的第五方面提供一种数据预测模型的创建装置,包括:
63.获取模块,用于获取第一样本集合,所述第一样本集合为初始的二叉树结构根节点的待划分样本集合,所述第一样本集合包括发起方设备和所述参与方设备共有的样本;
64.获取模块,还用于采用第二特征划分所述根节点的所述第一样本集合,得到第二
划分结果,所述第二特征包括样本在所述参与方设备的至少一个特征;
65.发送模块,用于向所述发起方设备发送所述第二划分结果,所述第二划分结果用于所述第一设备确定所述根节点的目标划分特征;
66.接收模块,用于接收来自所述发起方设备的所述根节点的实际划分信息,所述实际划分信息至少用于指示所述目标划分特征,所述目标划分特征为样本在所述发起方设备或所述参与方设备的其中一个特征;
67.获取模块,还用于根据所述参与方设备对所述根节点的所述第一样本集合的划分方式,获取所述根节点的每一级子节点的样本集合的第三划分结果;
68.发送模块,还用于向所述发起方设备发送所述第三划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,接收模块还用于接收来自所述发起方设备的通知消息,所述通知消息用于指示停止样本划分,将停止划分时的二叉树结构作为所述数据预测模型。
69.本技术实施例的第六方面提供一种数据预测装置,包括:
70.接收模块,用于接收数据预测请求,所述数据预测请求包括查询对象;
71.获取模块,用于获取所述查询对象在所述第一设备的特征数据;
72.处理模块,用于基于所述查询对象在所述第一设备的特征数据以及n个数据预测模型,得到n个数据预测结果,每个数据预测模型输出一个数据预测结果,每个数据预测结果用于指示所述查询对象的特征类别;每个数据预测模型均采用二叉树结构,且通过所述第一设备与第二设备共有的样本集合进行样本对象划分得到的,任意两个数据预测模型使用的样本集合中样本对象部分或全部不同;
73.处理模块,还用于根据所述n个数据预测结果,确定所述查询对象的特征类别;
74.发送模块,用于输出所述特征类别。
75.本技术实施例的第七方面提供一种数据预测模型的创建装置,包括:
76.存储器;
77.处理器;以及
78.计算机程序;
79.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面中任一项所述的方法。
80.本技术实施例的第八方面提供一种数据预测模型的创建装置,包括:
81.存储器;
82.处理器;以及
83.计算机程序;
84.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第二方面中任一项所述的方法。
85.本技术实施例的第九方面提供一种数据预测模型的创建装置,包括:
86.存储器;
87.处理器;以及
88.计算机程序;
89.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实
现如第三方面中任一项所述的方法。
90.本技术实施例的第十方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面中任一项所述的方法。
91.本技术实施例的第十一方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第二方面中任一项所述的方法。
92.本技术实施例的第十二方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第三方面中任一项所述的方法。
93.本技术实施例的第十三方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
94.本技术实施例的第十四方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第二方面中任一项所述的方法。
95.本技术实施例的第十五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第三方面中任一项所述的方法。
96.本技术实施例提供一种数据预测模型的创建方法、预测方法、装置及存储介质。其中模型的创建方法包括:发起方设备获取初始的二叉树结构根节点的第一样本集合,该第一样本集合包括发起方设备和参与方设备共同的样本;根据第一样本集合在发起方设备和参与方设备的样本划分评估参数确定根节点的目标划分特征,根据该目标划分特征获取根节点的子节点的样本集合;基于相同原理获取根节点的各级子节点的样本集合的划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,停止样本划分,将停止划分时的二叉树结构作为数据预测模型。上述建模过程综合各方对某一节点样本集合的样本划分评估参数,基于该样本划分评估参数确定该节点的样本集合是否划分以及基于哪一方样本特征划分,通过该方法创建的数据预测模型的预测结果更加准确。
附图说明
97.图1为本技术实施例提供的数据预测模型的创建方法的场景示意图;
98.图2为本技术实施例提供的数据预测模型的创建方法的交互示意图一;
99.图3为本技术实施例提供的数据预测模型的示意图;
100.图4为本技术实施例提供的数据预测模型的创建方法的交互示意图二;
101.图5为本技术实施例提供的样本划分的示意图;
102.图6为本技术实施例提供的数据预测模型中任意节点的划分流程示意图;
103.图7为本技术实施例提供的数据预测方法的流程示意图一;
104.图8为本技术实施例提供的数据预测方法的流程示意图二;
105.图9为本技术实施例提供的数据预测方法的流程示意图三;
106.图10为本技术实施例提供的数据预测模型的创建装置的结构图一;
107.图11为本技术实施例提供的数据预测模型的创建装置的结构图二;
108.图12为本技术实施例提供的数据预测装置的结构图;
109.图13为本技术实施例提供的数据预测模型的创建装置的硬件结构图一;
110.图14为本技术实施例提供的数据预测模型的创建装置的硬件结构图二;
111.图15为本技术实施例提供的数据预测装置的硬件结构图。
具体实施方式
112.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
113.本技术实施例的说明书、权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述之外的顺序实施。
114.应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
115.下面首先对本技术实施例涉及到的专业术语进行简要说明。
116.基尼不纯度:是决策树中的一个专业术语,指将来自集合中的某种结果随机应用在集合中,某一数据项的预期误差率。是在进行决策树创建时,对于混杂程度的预测中的一种度量参数。基尼不纯度越小,纯度越高,集合的有序程度越高,分类效果越好。基尼不纯度为0时,表示集合类别一致。
117.图1为本技术实施例提供的数据预测模型的创建方法的场景示意图。如图1所示,该场景包括发起方设备11以及至少一个参与方设备,例如图1中的参与方设备12和13。其中,参与方设备12、13分别与发起方设备11通信连接,发起方设备11和参与方设备12、13可共同参与联邦学习过程,建立数据预测模型,数据预测模型可用于预测样本是否具有某一属性特征。
118.一种可能的场景中,发起方设备11、参与方设备12、13中包含大量相同的数据样本,以及少量相同的数据特征,建立数据预测模型的过程属于纵向联邦学习的范畴。
119.另一种可能的场景中,发起方设备11、参与方设备12、13中包含少量相同的数据样本以及大量相同的数据特征,建立数据预测模型的过程属于横向联邦学习的范畴。
120.又一种可能的场景中,发起方设备11、参与方设备12、13中包含少量相同的数据样本以及少量相同的数据特征,建立数据预测模型的过程属于联邦迁移学习的范畴。
121.本实施例主要针对上述纵向联邦学习场景展开。下面结合实际应用,给出一些具体的实现场景。
122.示例性的,假设有两个不同机构,一家是某地区的银行,另一家是同一地区的电商,两者的用户群体很有可能包含该地区的大部分居民,因此两者用户的交集较大。银行机构记录用户的收支情况以及信用评级等,电商机构记录用户的浏览与购买历史,因此两者用户的特征交集较小。可通过两机构的数据样本,共同构建数据预测模型。例如,数据预测模型用于预测用户是否具有购买某物品的能力。又例如,数据预测模型用于预测用户是否具有偿还贷款的能力。
123.示例性的,假设有三个不同服务商,一家是某地区的书籍推荐服务商,另一家是同一地区的电影推荐服务商,两者的用户群体很有可能包含该地区的大部分居民,因此两者
用户的交集较大。书籍推荐服务商记录用户的浏览与阅读书籍的记录,电影推荐服务商记录用户的浏览与观看电影的记录,因此两者用户的特征交集较少。可通过两家服务商的数据样本,共同构建数据预测模型。例如,数据预测模型用于预测用户是否有兴趣购买某书籍。又例如,数据预测模型用于预测用户是否感兴趣某部电影。
124.上述几种实现场景仅作为一种示例,其他任意可通过多方参与进行纵向联邦学习建模及数据预测的场景均在本技术实施例的保护范围内,对此本技术实施例不作任何限制。
125.创建纵向联邦学习模型的关键在于:在确保各方数据隐私的前提下,如何提升联邦学习模型的性能。为了解决该问题,本技术实施例提出了一种数据预测模型的创建方法,该方法可应用于发起方设备,在发起方设备与至少一个参与方设备完成样本加密对齐后,发起方设备通过获取各方设备针对模型中每个节点的样本集合的划分情况,确定采用不同划分情况时每个节点的样本划分评估参数(例如基尼不纯度),基于该样本划分评估参数确定模型中每个划分节点的实际划分方式。基于上述原理创建的数据预测模型的预测结果更加准确。
126.考虑到如果参与方设备向发起方设备公布己方特征含义和每个节点的特征编号,发起方设备可能通过一些先验知识推断出样本在参与方的特征取值。例如,特征“过去五年是否有违法记录”,通常绝大多数用户在该特征下取值均为无,只有少部分用户在该特征下取值为有,因此该特征公开后其所在节点很可能因为用户在该特征的分布极度不均衡,从而被推出用户在该特征的取值。
127.为避免上述情况发生,传统联邦学习在建模过程中始终不公开真实特征(例如在建模过程中,参与方向发起方发送某一节点划分情况时,携带本地某一特征对应的固定特征编号,发起方无法获知参与方传输的划分特征的具体含义),从而使得通过模型得到的预测结果不具有解释性,且隐藏特征信息使恶意传输错误数据的行为无法被识别,进一步加强了联邦模型的安全隐患。对于金融风控场景中的联邦模型,模型的可解释性与安全性非常重要,因此上述联邦学习特点成为其在该落地场景下的巨大障碍。
128.为了解决该问题,本技术实施例还提出了一种数据预测模型的创建方法,在模型创建过程中,参与方设备可以向发起方设备发送模型中某一节点的划分特征,该划分特征用随机编码的数字表示,可在保证数据安全的情况下,使得参与方对发起方公开自身对某一节点的划分特征,从而实现了数据预测模型的可解释性。应理解,参与方的同一划分特征可能对应不同的随机编码的数字,与现有方案发送固定特征编号相比,可确定参与方向发起方公开的参与方划分特征的含义是安全的,即随机编号的特征信息具有更高的安全性。
129.本技术实施例中,发起方也称为guest方,参与方也称为host方。
130.下面以具体地实施例对本技术的数据预测模型的创建过程进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
131.图2为本技术实施例提供的数据预测模型的创建方法的交互示意图一。该方法涉及发起方设备和至少一个参与方设备的交互过程,为了便于理解,下述实施例以一个发起方设备和一个参与方设备为例进行方案介绍。
132.如图2所示,本实施例的数据预测模型的创建方法包括如下步骤:
133.步骤101、发起方设备获取第一样本集合,第一样本集合为初始的二叉树结构根节点的待划分样本集合,第一样本集合包括发起方设备和参与方设备共有的样本。
134.本步骤属于创建数据预测模型的初始阶段,用于获取发起方设备和参与方设备中对齐的样本。发起方设备和参与方设备通过交互各自设备中的样本id,确定设备共有的样本。具体的,各方可采用公钥加密算法rsa、哈希算法结合的加密方法将样本id加密后经不同操作判断得到的值是否相等实现样本对齐。
135.本实施例的一个可选实施例中,第一样本集合包括发起方设备和参与方设备共有的所有样本。
136.本实施例的一个可选实施例中,第一样本集合包括发起方设备和参与方设备共有的一部分样本。具体的,第一样本集合是发起方设备从发起方设备和参与方设备共有的所有样本中随机选取的预设数量的样本。
137.示例性的,假设发起方设备和参与方设备经过样本对齐后确定有3000个共同样本,预设的用于模型训练的样本数量为2000个,发起方设备可从3000个共同样本中随机选取2000个样本作为第一样本集合中的样本。
138.通过上述随机选取过程,发起方设备可获取不同的第一样本集合,基于不同的随机样本集合中的样本,采用下述创建模型的步骤,创建出多个数据预测模型。应理解,采用不同的第一样本集合创建的多个数据预测模型,在实际应用中,针对同一测试样本,多个数据预测模型的预测结果可能存在差异。
139.步骤102、发起方设备根据第一样本集合在发起方设备和参与方设备的样本划分评估参数,确定根节点的目标划分特征。
140.其中,样本划分评估参数用于指示样本划分的误差率,目标划分特征为样本在发起方设备或参与方设备的其中一个特征。
141.第一样本集合在发起方设备的样本划分评估参数用于指示发起方设备对第一样本集合进行样本划分的误差率;第一样本集合在参与方设备的样本划分评估参数用于指示参与方设备对第一样本集合进行样本划分的误差率。
142.本实施例的一个可选实施例中,若第一样本集合在发起方设备的样本划分评估参数大于第一样本集合在参与方设备的样本划分评估参数,可确定根节点的目标划分特征为样本在参与方设备的特征。
143.本实施例的一个可选实施例中,若第一样本集合在发起方设备的样本划分评估参数小于第一样本集合在参与方设备的样本划分评估参数,可确定根节点的目标划分特征为样本在发起方设备的特征。
144.本实施例的一个可选实施例中,若第一样本集合在发起方设备的样本划分评估参数等于第一样本集合在参与方设备的样本划分评估参数,可默认根节点的目标划分特征为样本在发起方设备的特征。
145.应理解,发起方设备综合各方在根节点对第一样本集合的划分情况,确定根节点采用哪一方的样本特征作为根节点的实际划分特征。
146.步骤103、发起方设备根据目标划分特征获取根节点的子节点的样本集合。
147.本实施例的一个可选实施例中,若根节点的目标划分特征为样本在参与方设备的特征,可通过参与方设备获取根节点的子节点的样本集合。
148.本实施例的一个可选实施例中,若根节点的目标划分特征为样本在发起方设备的特征,发起方设备根据目标划分特征划分根节点的第一样本集合,得到根节点的子节点的样本集合。
149.从上述两个实施例可知,若目标划分特征为发起方本地的特征,则发起方直接对第一样本集合中的样本进行划分;若目标划分特征为参与方本地的特征,则发起方告知参与方,由参与方对第一样本集合中的样本进行划分,参与方划分结束后,将划分结果同步给发起方。
150.步骤104、发起方设备向参与方设备发送根节点的实际划分信息,实际划分信息至少用于指示目标划分特征。
151.本实施例的一个可选实施例中,若根节点的目标划分特征为样本在参与方设备的特征,发起方设备向参与方设备发送根节点的实际划分信息,实际划分信息至少用于指示目标划分特征。本实施例中,实际划分信息包括目标划分特征对应的随机编号,其中目标划分特征对应的随机编号是参与方设备随机生成的,参与方设备记录该目标划分特征、划分特征阈值与该随机编号的对应关系。
152.本实施例的一个可选实施例中,若根节点的目标划分特征为样本在发起方设备的特征,发起方设备向参与方设备发送根节点的实际划分信息,实际划分信息至少用于指示目标划分特征。本实施例中,实际划分信息包括目标划分特征对应的随机编号,其中目标划分特征对应的随机编号是发起方设备随机生成的,发起方设备记录该目标划分特征、划分特征阈值与该随机编号的对应关系。
153.本实施例的一个可选实施例中,若根节点的目标划分特征为样本在发起方设备的特征,实际划分信息除了包括目标划分特征对应的随机编号之外,还包括根节点的两个子节点的样本集合,每个子节点的样本集合是第一样本集合的子集,根节点的每个子节点的样本集合是发起方设备确定的。
154.步骤105、发起方设备根据发起方设备对根节点的第一样本集合的划分方式,获取根节点的每一级子节点的样本集合的划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,停止样本划分,将停止划分时的二叉树结构作为数据预测模型。
155.本实施例中,对根节点的每一级子节点的样本集合的划分,可参考对根节点的第一样本集合的划分过程,即上述的步骤102至步骤104,两者的实现原理相同。
156.应理解,某一节点中样本集合的样本划分评估参数小于或等于阈值,即该节点的样本集合继续划分的误差率很小,说明样本集合中样本的纯度(或者特征相似度)较高,无需再分。
157.示例性的,图3为本技术实施例提供的数据预测模型的示意图。如图3所示,数据预测模型采用二叉树结构,从根节点1开始,对根节点1的第一样本集合进行样本划分,确定根节点1的子节点2和3的样本集合。采用同样的划分原理,对子节点2的样本集合进行样本划分,得到子节点2的子节点4和5。假设子节点4的样本集合的样本划分评估参数小于或等于阈值,则停止对子节点4的样本集合的样本划分。当二叉树结构的各个分支上的最底层节点均满足同样的停止条件时,将当前的二叉树结构作为数据预测模型。如图3中节点4、5、7、8、9的样本集合继续划分的样本划分评估参数均小于或等于阈值。
158.本实施例示出的数据预测模型的创建方法,发起方设备获取初始的二叉树结构根节点的第一样本集合,该第一样本集合包括发起方设备和参与方设备共同的样本;根据第一样本集合在发起方设备和参与方设备的样本划分评估参数确定根节点的目标划分特征,根据该目标划分特征获取根节点的子节点的样本集合;基于相同原理获取根节点的各级子节点的样本集合的划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,停止样本划分,将停止划分时的二叉树结构作为数据预测模型。上述建模过程综合各方对某一节点样本集合的样本划分评估参数,基于该样本划分评估参数确定该节点的样本集合是否划分以及基于哪一方样本特征划分,通过该方法创建的数据预测模型的预测结果更加准确。
159.图4为本技术实施例提供的数据预测模型的创建方法的交互示意图二。为了便于理解,下述实施例同样以一个发起方设备和一个参与方设备为例进行方案介绍。
160.如图4所示,本实施例的数据预测模型的创建方法包括如下步骤:
161.步骤201、发起方设备与参与方设备进行样本对齐。本步骤的实现原理同图2所示实施例的步骤101,此处不再赘述。
162.步骤202、发起方设备获取发起方设备采用第一特征划分第一样本集合的第一划分结果,第一特征包括样本在发起方设备的至少一个特征。
163.示例性的,第一特征包括特征a和特征b。发起方设备获取发起方设备采用特征a划分第一样本集合的划分结果1,以及采用特征b划分第一样本集合的划分结果2。假设特征a的特征值不是0就是1,则划分结果1包括特征a的特征值为0的样本数量n1,以及特征a的特征值为1的样本数量n2。假设特征b的特征值大于或等于x属于类别1,特征b的特征值小于x属于类别2,则划分结果2包括类别1的样本数量n3,以及类别2的样本数量n4。
164.上述示例示出了两种类型的特征,一种是离散型特征,一种是连续型特征,样本在各方的特征类型可以是这两种类型的任意一种,对此本技术实施例不作任何限制。
165.步骤203、参与方设备向发起方设备发送参与方设备采用第二特征划分第一样本集合的第二划分结果,第二特征包括样本在参与方设备的至少一个特征。
166.与步骤202中的第一特征类似,第二特征可以是任意一种类型的特征,第二特征可以是一个或多个。
167.第一特征和第二特征分别指示样本的不同含义的特征。示例性的,样本为用户,用户的第一特征包括“性别”和“年龄”,用户的第二特征包括“收入”和“支出”。
168.采用第二特征划分第一样本集合的第二划分结果与步骤202中采用第一特征划分第一样本集合的第一划分结果类似,可参见步骤202的示例。只是前者划分第一样本集合的执行主体是参与方设备,划分第一样本集合的划分特征是样本在参与方设备的特征;后者划分第一样本集合的执行主体是发起方设备,划分第一样本集合的划分特征是样本在发起方设备的特征。
169.步骤204、发起方设备根据第一划分结果确定第一样本集合在发起方设备的样本划分评估参数。
170.本实施例的一个可选实施例中,第一划分结果包括第一特征编号、采用第一特征划分第一样本集合的第一子样本集合以及第二子样本集合中样本的数量,第一特征编号为发起方设备生成的第一特征对应的随机编号。发起方设备记录第一特征编号、第一特征以
及第一特征的划分阈值的对应关系。其中第一特征的划分阈值可根据第一样本集合中所有样本的第一特征的特征值确定,例如取所有样本的第一特征的特征值的中位数或平均数。本实施例中,第一划分结果中的第一特征编号对于参与方设备而言是隐藏含义的特征,发起方设备可以向参与方设备发送该第一特征编号,数据传输是安全的。
171.具体的,步骤204,包括:根据第一样本集合中样本的标注结果、第一划分结果中第一子样本集合以及第二子样本集合中样本的数量,确定第一子样本集合的第一样本划分评估参数以及第二子样本集合的第二样本划分评估参数;根据第一样本划分评估参数和第二样本划分评估参数,确定第一样本集合在发起方设备的样本划分评估参数。其中,第一样本集合在发起方设备的样本划分评估参数可以理解为第一样本集合在发起方设备划分的子样本集合的综合样本划分评估参数。
172.可选的,样本划分评估参数包括基尼不纯度。
173.可选的,根据第一样本集合中样本的标注结果、第一划分结果中第一子样本集合以及第二子样本集合中样本的数量,确定第一子样本集合的基尼不纯度以及第二子样本集合的基尼不纯度。
174.可选的,根据第一子样本集合的基尼不纯度以及第二子样本集合的基尼不纯度,确定第一样本集合在发起方设备划分的子样本集合的综合基尼不纯度。
175.下面结合附图5对如何确定第一子样本集合和第二子样本集合的基尼不纯度,以及如何确定第一样本集合的子样本集合的综合基尼不纯度进行详细说明。图5为本技术实施例提供的样本划分的示意图。如图5所示,二维坐标系中包括10个样本点,记为第一样本集合,每个样本点对应坐标(x,y),每个样本点对应一个样本,x和y分别对应该样本的两个特征。
176.假设以x为划分特征,划分值取1.5,则将10个样本点划分到两个区域,假设左侧区域包括4个样本点,记为第一子样本集合,右侧区域包括6个样本点,记为第二子样本集合。第一样本集合中10个样本点的标注结果分为两类,黑色圆点表示第一类,白色圆点表示第二类。由图5可知,第一子样本集合中的4个样本点属于第一类,第二子样本集合中的6个样本点中,有5个样本点属于第二类,1个样本点属于第一类。
177.可采用如下公式分别计算第一子样本集合的基尼不纯度以及第二子样本集合的基尼不纯度:
[0178][0179]
其中,k表示样本的类别数,pi表示第i类样本所占比例。基于该公式可确定第一子样本集合的基尼不纯度g1=1-12=0,第二子样本集合的基尼不纯度g2=1-(5/6)
2-(1/6)2=0。278。
[0180]
可采用如下公式计算第一样本集合的子样本集合的综合基尼不纯度:
[0181][0182]
其中,l表示子样本集合的数量(二叉树结构中l取2),ni表示第i个子样本集合中样本的数量,n表示第一样本集合中样本的数量。基于该公式可确定第一样本集合的子样本集合的综合基尼不纯度g

=(0.4*0) (0.6*0.278)=0.167。基尼不纯度越低,划分效果越好。
[0183]
通过上述步骤,发起方设备可以确定根节点的第一样本集合在发起方设备划分后子样本集合的综合样本划分评估参数,该参数的取值指示了在发起方设备划分第一样本集合的划分效果。
[0184]
步骤205、发起方设备根据第二划分结果确定第一样本集合在参与方设备的样本划分评估参数。
[0185]
本实施例的一个可选实施例中,第二划分结果包括第二特征编号、采用第二特征划分第一样本集合的第三子样本集合以及第四子样本集合中样本的数量,第二特征编号为参与方设备生成的第二特征对应的随机编号。参与方设备记录第二特征编号、第二特征以及第二特征的划分阈值的对应关系。其中第二特征的划分阈值是根据第一样本集合中所有样本的第二特征的特征值确定的,例如所有样本的第二特征的特征值的中位数或平均数。本实施例中,第二划分结果中的第二特征编号对于发起方设备而言是隐藏含义的特征,发起方设备不知道第二特征的含义。
[0186]
步骤205,包括:根据第一样本集合中样本的标注结果、第二划分结果中第三子样本集合以及第四子样本集合中样本的数量,确定第三子样本集合的第三样本划分评估参数以及第四子样本集合的第四样本划分评估参数;根据第三样本划分评估参数和第四样本划分评估参数,确定第一样本集合在参与方设备的样本划分评估参数。其中,第一样本集合在参与方设备的样本划分评估参数可以理解为第一样本集合在参与方设备划分的子样本集合的综合样本划分评估参数。
[0187]
可选的,样本划分评估参数包括基尼不纯度。
[0188]
可选的,根据第二样本集合中样本的标注结果、第二划分结果中第三子样本集合以及第四子样本集合中样本的数量,确定第三子样本集合的基尼不纯度以及第四子样本集合的基尼不纯度。
[0189]
可选的,根据第三子样本集合的基尼不纯度以及第四子样本集合的基尼不纯度,确定第一样本集合在参与方设备划分的子样本集合的综合基尼不纯度。
[0190]
本步骤中如何确定第三子样本集合和第四子样本集合的基尼不纯度,以及如何确定第一样本集合的子样本集合的综合基尼不纯度的原理同步骤204,可参见附图5所示的实施例,此处不再赘述。
[0191]
步骤206、发起方设备根据第一样本集合在发起方设备和参与方设备的样本划分评估参数,从第一特征和第二特征中确定目标划分特征。
[0192]
其中,目标划分特征为实际划分根节点的第一样本集合的特征。
[0193]
应理解,第一样本集合在发起方设备的样本划分评估参数的数量为一个或多个,该数量取决于样本在发起方设备的特征种类,例如样本在发起方设备的特征有3个,则第一样本集合在发起方设备的样本划分评估参数的数量为3个。同样的,第二样本集合在参与方设备的样本划分评估参数的数量为一个或多个,该数量取决于样本在参与方设备的特征种类。
[0194]
在确定第一样本集合在发起方设备和参与方设备的样本划分评估参数之后,选取样本划分评估参数的数值小于或等于阈值(例如0.05)的样本划分评估参数,将该样本划分评估参数对应的特征作为目标划分特征。
[0195]
若样本划分评估参数有多个,且所有样本划分评估参数的数值均大于阈值,可选
取样本划分评估参数中数值最小的样本划分评估参数,将该样本划分评估参数对应的特征作为目标划分特征。
[0196]
目标划分特征可能是样本在发起方的第一特征,也可能是样本在参与方的第二特征。
[0197]
步骤207、发起方设备向参与方设备发送根节点的实际划分信息,实际划分信息至少用于指示目标划分特征。本步骤的实现原理同图2所示实施例的步骤104,此处不再赘述。
[0198]
本实施例示出的数据预测模型的创建方法,对发起方设备根据各方对根节点的第一样本集合的划分结果的样本划分评估参数(例如基尼不纯度)进行综合分析,选取样本划分评估参数的数值小于或等于阈值的样本划分评估参数对应的特征,将该特征作为根节点的实际划分特征。发起方设备向各方同步根节点的实际划分特征。基于相同原理发起方设备还可以确定根节点的各级子节点的实际划分特征,最终完成样本划分,得到最终的数据预测模型。上述建模过程综合各方对某一节点样本集合的样本划分评估参数,确定该节点的样本集合是否划分以及基于哪一方样本特征划分,通过该方法创建的数据预测模型的预测结果更加准确。
[0199]
上述几个实施例均属于纵向联邦学习范畴。纵向联邦通常包括1个guest方(包含y标签和x个特征)以及1个或多个host方(仅包含z个特征),其中,y标签可看作是预测模型的输出变量(即预测模型的输出结果的类别),以信贷风控场景为例,y指的是用户是否违约两种类别。guest方的特征与host方的特征基本不重叠。guest方和host方可通过共享特征的方式建立预测模型,从而提升模型效果。模型建立过程中,guest方与host方互相看不到对方数据信息以实现对各方数据隐私的保护。
[0200]
图6为本技术实施例提供的数据预测模型中任意节点的划分流程示意图。本实施例涉及guest方与1个host方的交互。如图6所示,该流程包括如下步骤:
[0201]
步骤1、guest方产生一组公钥秘钥对,并用paillier加密所有对齐样本的标签y,再将公钥以及每个样本对应的[[y]]发送给host方。
[0202]
步骤2、host方根据样本的本地特征进行二分,记录划分特征f、划分阈值v、随机数编号rand
f,v
,一次二分结束host方会生成一个向量组(part1,n1,part2,n2,rand
f,v
),其中part1表示二分结果中第一类样本的集合,n1表示part1的样本数量,part2表示二分结果中第二类样本的集合,n2表示part2的样本数量。
[0203]
步骤3、host方向guest方返回加密矩阵,加密矩阵包括一个或多个向量组(每个向量组作为一行)。
[0204]
步骤4、guest方计算各方二分样本的基尼不纯度,确定最优二分点。
[0205]
最优二分点对应一个特征,该特征可以是样本在guest方或host方的特征。具体的,步骤4包括:
[0206]
步骤41、guest方对host方传递的加密矩阵解密并遍历矩阵的每行,确定每行的二分样本的基尼不纯度以及全样本的基尼不纯度。
[0207]
步骤42、guest方根据样本的本地特征直接进行二分,得到二分结果中每一类样本的样本数量以及样本数量总和,确定样本在guest方二分的基尼不纯度。
[0208]
步骤43、guest方根据guest方和host方二分样本的基尼不纯度,确定最优二分点。
[0209]
若最优二分点对应的特征属于guest方,执行步骤5;
[0210]
若最优二分点对应的特征属于host方,执行步骤7。
[0211]
步骤5、guest方根据本地特征进行样本划分,得到(i
l
,ir)。
[0212]
其中i
l
表示样本在guest方划分后的左子节点的样本集合,ir表示样本在guest方划分后的右子节点的样本集合。
[0213]
步骤6、guest方向host方发送(i
l
,ir)。
[0214]
步骤7、guest方向host方发送rand’f,v

[0215]
其中rand’f,v
表示guest方确定的划分特征对应的随机编号。
[0216]
步骤8、host方根据本地特征进行样本划分,得到(i
l
',ir')。
[0217]
其中i
l
'表示样本在host方划分后的左子节点的样本集合,ir'表示样本在host方划分后的右子节点的样本集合。
[0218]
步骤9、host方向guest方返回(i
l
',ir')。
[0219]
上述步骤示出了数据预测模型中任意待划分样本集合的节点的划分流程,模型中其他节点的划分流程与其类似,直至没有节点需要继续划分为止,完成对该模型的创建。
[0220]
上述几个实施例中,样本集合可以是用户集合,样本的特征可以是用户的某些特征。针对不同的应用场景,用户的特征不同,构建的数据预测模型的预测功能不同,具体可参见上文。
[0221]
基于上述几个实施例创建的数据预测模型,下面几个实施例对该数据预测模型的应用方案进行说明。
[0222]
图7为本技术实施例提供的数据预测方法的流程示意图一。如图5所示,本实施例的数据预测方法包括如下步骤:
[0223]
步骤301、第一设备接收数据预测请求,数据预测请求包括查询对象。
[0224]
步骤302、第一设备获取查询对象在第一设备的特征数据。
[0225]
基于上文的实际场景,例如,数据预测请求用于请求预测某用户(即查询对象)是否具有偿还贷款的能力。某用户在第一设备(例如银行平台)的特征数据包括该用户的收支情况以及信用评级等。又例如,数据预测请求用于预测某用户是否感兴趣购买某书籍。某用户在第一设备(例如书籍推荐服务平台)的特征数据包括该用户的浏览记录、阅读书籍或购买书籍的记录等。
[0226]
步骤303、基于查询对象在第一设备的特征数据以及n个数据预测模型,得到n个数据预测结果。
[0227]
本实施例中,每个数据预测模型输出一个数据预测结果,每个数据预测结果用于指示查询对象的特征类别;每个数据预测模型均采用二叉树结构,且通过第一设备与第二设备共有的样本集合进行样本对象划分得到的,任意两个数据预测模型使用的样本集合中样本对象部分或全部不同。
[0228]
需要说明的是,本实施例中的n个数据预测模型中的每个数据预测模型均可基于上述几个实施例的方案进行模型创建,不同的是,每个数据预测模型采用的初始样本集合不同(即模型根节点的第一样本集合中的样本有差异)。应理解,基于不同的初始样本集合创建的数据预测模型的预测结果可能存在预测差异。本实施例提出的数据预测方法使用创建的n个数据预测模型进行数据预测,与仅使用单个数据预测模型进行数据预测相比,可进一步提升数据预测的准确性。
[0229]
针对任意一个数据预测模型,其输出数据预测结果的过程包括如下步骤:
[0230]
从数据预测模型的根节点开始,根据数据预测模型中每个节点的划分信息以及查询对象在第一设备的特征数据,确定查询对象在数据预测模型中的划分走向,直至数据预测模型的最底层节点。将最底层节点的特征类别作为查询对象的一个数据预测结果。
[0231]
其中,划分信息至少用于指示节点的划分特征,划分特征为查询对象在第一设备或第二设备的特征。
[0232]
步骤304、第一设备根据n个数据预测结果,确定查询对象的特征类别。
[0233]
本实施例的一个可选实施例中,将n个数据预测结果中同一预测值个数最多的数据预测结果指示的特征类别作为查询对象的特征类别。
[0234]
示例性的,n取100,其中90个数据预测模型的数据预测结果为特征类别1,10个数据预测模型的数据预测结果为特征类别2,则将特征类别1作为查询对象的特征类别。
[0235]
步骤305、第一设备输出特征类别。
[0236]
本实施例中第一设备可以是发起方设备也可以是参与方设备,对此本技术实施例不作任何限制。
[0237]
本实施例示出的数据预测方法,接收包括查询对象的数据预测请求后,获取该查询对象在本地的特征数据,基于查询对象在本地的特征数据以及各方共同创建的n个数据预测模型,获取查询对象经不同数据预测模型的n个预测结果,每个预测结果用于指示该查询对象的特征类别。通过投票方式(即少数服从多数)决定查询对象最终的特征类别。由于上述预测过程涉及多个数据预测模型(可称为随机森林random forest模型),最终确定的预测结果综合了多个数据预测模型的预测结果,大大提升了数据预测的准确率。
[0238]
可选的,针对第一节点,第一节点为数据预测模型中除最底层节点之外的任意一个节点,下面采用两个实施例对如何确定查询对象在该第一节点的划分走向(预测走向)进行说明。
[0239]
图8为本技术实施例提供的数据预测方法的流程示意图二。如图8所示,本实施例的数据预测方法包括如下步骤:
[0240]
步骤401、若第一节点的划分信息指示的划分特征为查询对象在第一设备的特征,获取划分特征对应的划分阈值。
[0241]
步骤402、根据划分阈值和查询对象在第一设备的特征数据,确定查询对象被划分至第一节点的左子节点或右子节点。
[0242]
若查询对象在第一设备的特征数据为离散型数据(例如二值型数据0或1),例如,若划分阈值为0,则特征数据为0的查询对象被划分至第一节点的左子节点,特征数据为1的查询对象被划分值第一节点的右子节点。又例如,若划分阈值为1,则特征数据为1的查询对象被划分值第一节点的左子节点,特征数据为0的查询对象被划分值第一节点的右子节点。
[0243]
若查询对象在第一设备的特征数据为连续型数据,第一设备通过比较查询对象在第一设备的特征数据(即查询对象在划分特征的特征值)与该划分特征对应的划分阈值的数值大小,确定查询对象被划分到该第一节点的左子节点或右子节点。例如,特征数据大于或等于划分阈值,确定查询对象被划分到第一节点的左子节点。特征数据小于划分阈值,确定查询对象被划分到第一节点的右子节点。
[0244]
图9为本技术实施例提供的数据预测方法的流程示意图三。如图9所示,本实施例
的数据预测方法包括如下步骤:
[0245]
步骤501、若第一节点的划分信息指示的划分特征为查询对象在第二设备的特征,第一设备向第二设备发送划分请求。
[0246]
步骤502、第二设备根据划分请求确定划分特征以及划分特征对应的划分阈值。
[0247]
划分请求包括划分特征对应的随机编号,第二设备可根据随机编号从本地记录中获取划分特征是本地特征的哪一个,以及该划分特征对应的划分阈值。
[0248]
步骤503、第二设备获取查询对象的划分特征的特征数据。
[0249]
步骤503、第二设备根据划分阈值以及查询对象的划分特征的特征数据,确定查询对象被划分至第一节点的左子节点或右子节点。
[0250]
步骤504、第二设备向第一设备发送第一节点的划分结果。
[0251]
划分结果用于指示查询对象被划分至第一节点的左子节点或右子节点。
[0252]
可选的,划分结果包括第一节点的左子节点的样本集合以及第一节点的右子节点的样本集合。
[0253]
上述的实施例都是以基尼不纯度作为数据预测模型中节点划分的评估参数,在一些实施例中,还可以使用其他评估参数(包括但不限于信息增益)来划分节点中的样本集合。
[0254]
本技术实施例可以根据上述方法实施例对数据预测模型的创建装置以及数据预测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
[0255]
本技术实施例中,数据预测模型的创建装置可以是发起方设备。数据预测装置可以是发起方设备或参与方设备。
[0256]
图10为本技术实施例提供的数据预测模型的创建装置的结构图一。如图10所示,该数据预测模型的创建装置600,包括:获取模块601,处理模块602以及发送模块603。
[0257]
获取模块601,用于获取第一样本集合,所述第一样本集合为初始的二叉树结构根节点的待划分样本集合,所述第一样本集合包括所述发起方设备和参与方设备共有的样本;
[0258]
处理模块602,用于根据所述第一样本集合在所述发起方设备和所述参与方设备的样本划分评估参数,确定所述根节点的目标划分特征;所述样本划分评估参数用于指示样本划分的误差率,所述目标划分特征为样本在所述发起方设备或所述参与方设备的其中一个特征;
[0259]
获取模块601,还用于根据所述目标划分特征获取所述根节点的子节点的样本集合;
[0260]
发送模块603,用于向所述参与方设备发送所述根节点的实际划分信息,所述实际划分信息至少用于指示所述目标划分特征;
[0261]
获取模块601,还用于根据所述发起方设备对所述根节点的所述第一样本集合的划分方式,获取所述根节点的每一级子节点的样本集合的划分结果,直至所有子节点中样
本集合的样本划分评估参数均小于或等于阈值时,处理模块602停止样本划分,将停止划分时的二叉树结构作为所述数据预测模型。
[0262]
本实施例的一个可选实施例中,获取模块601,用于获取所述发起方设备采用第一特征划分所述第一样本集合的第一划分结果,以及参与方设备采用第二特征划分所述第一样本集合的第二划分结果;所述第一特征包括样本在所述发起方设备的至少一个特征,所述第二特征包括样本在所述参与方设备的至少一个特征;
[0263]
处理模块602,用于根据所述第一划分结果确定所述第一样本集合在所述发起方设备的样本划分评估参数;根据所述第二划分结果确定所述第一样本集合在所述参与方设备的样本划分评估参数;
[0264]
根据所述第一样本集合在所述发起方设备和所述参与方设备的样本划分评估参数,从所述第一特征和所述第二特征中确定所述目标划分特征,所述目标划分特征为实际划分所述根节点的所述第一样本集合的特征。
[0265]
本实施例的一个可选实施例中,所述第一划分结果包括第一特征编号、采用所述第一特征划分所述第一样本集合的第一子样本集合以及第二子样本集合中样本的数量,所述第一特征编号为所述发起方设备生成的所述第一特征对应的随机编号;
[0266]
处理模块602,用于根据所述第一样本集合中样本的标注结果、所述第一划分结果中所述第一子样本集合以及所述第二子样本集合中样本的数量,确定所述第一子样本集合的第一样本划分评估参数以及所述第二子样本集合的第二样本划分评估参数;
[0267]
根据所述第一样本划分评估参数和所述第二样本划分评估参数,确定所述第一样本集合在所述发起方设备的样本划分评估参数。
[0268]
本实施例的一个可选实施例中,所述第二划分结果包括第二特征编号、采用所述第二特征划分所述第一样本集合的第三子样本集合以及第四子样本集合中样本的数量,所述第二特征编号为所述参与方设备生成的所述第二特征对应的随机编号;
[0269]
处理模块602,用于根据所述第一样本集合中样本的标注结果、所述第二划分结果中所述第三子样本集合以及所述第四子样本集合中样本的数量,确定所述第三子样本集合的第三样本划分评估参数以及所述第四子样本集合的第四样本划分评估参数;
[0270]
根据所述第三样本划分评估参数和所述第四样本划分评估参数,确定所述第一样本集合在所述参与方设备的样本划分评估参数。
[0271]
本实施例的一个可选实施例中,所述实际划分信息至少用于指示所述目标划分特征,包括:所述实际划分信息包括所述目标划分特征对应的随机编号;
[0272]
若所述目标划分特征为样本在所述发起方设备的特征,所述目标划分特征对应的随机编号是所述发起方设备随机生成的;或者
[0273]
若所述目标划分特征为样本在所述参与方设备的特征,所述目标划分特征对应的随机编号是所述参与方设备随机生成的。
[0274]
本实施例的一个可选实施例中,所述实际划分信息还包括所述根节点的两个子节点的样本集合,每个子节点的样本集合是所述第一样本集合的子集。
[0275]
本实施例提供的数据预测模型的创建装置,可以执行图2或图4所示方法实施例中发起方设备的技术方案,还可以执行图6所示方法实施例中guest方的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0276]
图11为本技术实施例提供的数据预测模型的创建装置的结构图一。如图11所示,该数据预测模型的创建装置700,包括:获取模块701,发送模块702以及接收模块703。
[0277]
获取模块701,用于获取第一样本集合,所述第一样本集合为初始的二叉树结构根节点的待划分样本集合,所述第一样本集合包括发起方设备和所述参与方设备共有的样本;
[0278]
获取模块701,还用于采用第二特征划分所述根节点的所述第一样本集合,得到第二划分结果,所述第二特征包括样本在所述参与方设备的至少一个特征;
[0279]
发送模块702,用于向所述发起方设备发送所述第二划分结果,所述第二划分结果用于所述第一设备确定所述根节点的目标划分特征;
[0280]
接收模块703,用于接收来自所述发起方设备的所述根节点的实际划分信息,所述实际划分信息至少用于指示所述目标划分特征,所述目标划分特征为样本在所述发起方设备或所述参与方设备的其中一个特征;
[0281]
获取模块701,还用于根据所述参与方设备对所述根节点的所述第一样本集合的划分方式,获取所述根节点的每一级子节点的样本集合的第三划分结果;
[0282]
发送模块702,还用于向所述发起方设备发送所述第三划分结果,直至所有子节点中样本集合的样本划分评估参数均小于或等于阈值时,接收模块703接收来自所述发起方设备的通知消息,所述通知消息用于指示停止样本划分,将停止划分时的二叉树结构作为所述数据预测模型。
[0283]
本实施例的一个可选实施例中,所述第二划分结果包括第二特征编号、采用所述第二特征划分所述第一样本集合的第三子样本集合以及第四子样本集合中样本的数量,所述第二特征编号为所述参与方设备生成的所述第二特征对应的随机编号。
[0284]
本实施例的一个可选实施例中,所述实际划分信息至少用于指示目标划分特征,包括:所述实际划分信息包括所述目标划分特征对应的随机编号;
[0285]
若所述目标划分特征为样本在所述发起方设备的特征,所述目标划分特征对应的随机编号是所述发起方设备随机生成的;或者
[0286]
若所述目标划分特征为样本在所述参与方设备的特征,所述目标划分特征对应的随机编号是所述参与方设备随机生成的。
[0287]
本实施例的一个可选实施例中,所述实际划分信息还包括所述根节点的两个子节点的样本集合,每个子节点的样本集合是所述第一样本集合的子集。
[0288]
本实施例提供的数据预测模型的创建装置,可以执行图2或图4所示方法实施例中参与方设备的技术方案,还可以执行图6所示方法实施例中host方的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0289]
图12为本技术实施例提供的数据预测装置的结构图。如图12所示,该数据预测装置800,包括:接收模块801,获取模块802,处理模块803以及发送模块804。
[0290]
接收模块801,用于接收数据预测请求,所述数据预测请求包括查询对象;
[0291]
获取模块802,用于获取所述查询对象在所述第一设备的特征数据;
[0292]
处理模块803,用于基于所述查询对象在所述第一设备的特征数据以及n个数据预测模型,得到n个数据预测结果,每个数据预测模型输出一个数据预测结果,每个数据预测结果用于指示所述查询对象的特征类别;每个数据预测模型均采用二叉树结构,且通过所
述第一设备与第二设备共有的样本集合进行样本对象划分得到的,任意两个数据预测模型使用的样本集合中样本对象部分或全部不同;
[0293]
处理模块803,还用于根据所述n个数据预测结果,确定所述查询对象的特征类别;
[0294]
发送模块804,用于输出所述特征类别。
[0295]
本实施例的一个可选实施例中,针对任意一个数据预测模型,处理模块803,用于:
[0296]
从所述数据预测模型的根节点开始,根据所述数据预测模型中每个节点的划分信息以及所述查询对象在所述第一设备的特征数据,确定所述查询对象在所述数据预测模型中的划分走向,直至所述数据预测模型的最底层节点;所述划分信息至少用于指示节点的划分特征,所述划分特征为所述查询对象在所述第一设备或所述第二设备的特征;
[0297]
将所述最底层节点的特征类别作为所述查询对象的一个数据预测结果。
[0298]
本实施例的一个可选实施例中,针对第一节点,所述第一节点为所述数据预测模型中除所述最底层节点之外的任意一个节点。
[0299]
若所述第一节点的划分信息指示的划分特征为所述查询对象在所述第一设备的特征,获取模块802,用于获取所述划分特征对应的划分阈值;处理模块803,用于根据所述划分阈值和所述查询对象在所述第一设备的特征数据,确定所述查询对象被划分至所述第一节点的左子节点或右子节点;或者
[0300]
若所述第一节点的划分信息指示的划分特征为所述查询对象在所述第二设备的特征,发送模块804,用于向所述第二设备发送划分请求;接收模块801用于接收所述第二设备返回的所述第一节点的划分结果,所述划分结果用于指示所述查询对象被划分至所述第一节点的左子节点或右子节点。
[0301]
本实施例的一个可选实施例中,处理模块803,用于:
[0302]
将所述n个数据预测结果中同一预测值个数最多的数据预测结果指示的特征类别作为所述查询对象的特征类别。
[0303]
本实施例提供的数据预测装置,可以执行图7至图9所示方法实施例中第一设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0304]
图13为本技术实施例提供的数据预测模型的创建装置的硬件结构图一。如图13所示,该数据预测模型的创建装置900,包括:
[0305]
存储器901;
[0306]
处理器902;以及
[0307]
计算机程序;
[0308]
其中,计算机程序存储在存储器901中,并被配置为由处理器902执行以实现图2或图4所示方法实施例中发起方设备的技术方案,或者图6所示方法实施例中guest方的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0309]
可选的,存储器901既可以是独立的,也可以跟处理器902集成在一起。当存储器901是独立于处理器902之外的器件时,创建装置900还包括:总线903,用于连接存储器901和处理器902。
[0310]
图14为本技术实施例提供的数据预测模型的创建装置的硬件结构图二,如图14所示,该数据预测模型的创建装置1000,包括:
[0311]
存储器1001;
[0312]
处理器1002;以及
[0313]
计算机程序;
[0314]
其中,计算机程序存储在存储器1001中,并被配置为由处理器1002执行以实现图2或图4所示方法实施例中参与方设备的技术方案,或者图6所示方法实施例中host方的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0315]
可选的,存储器1001既可以是独立的,也可以跟处理器1002集成在一起。当存储器1001是独立于处理器1002之外的器件时,创建装置1000还包括:总线1003,用于连接存储器1001和处理器1002。
[0316]
图15为本技术实施例提供的数据预测装置的硬件结构图。如图15所示,该数据预测装置1100,包括:
[0317]
存储器1101;
[0318]
处理器1102;以及
[0319]
计算机程序;
[0320]
其中,计算机程序存储在存储器1101中,并被配置为由处理器1102执行以实现图7至图9所示方法实施例中第一设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0321]
可选的,存储器1101既可以是独立的,也可以跟处理器1102集成在一起。当存储器1101是独立于处理器1102之外的器件时,创建装置1100还包括:总线1103,用于连接存储器1101和处理器1102。
[0322]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器902执行以实现图2或图4所示方法实施例中发起方设备的技术方案,或者图6所示方法实施例中guest方的技术方案。
[0323]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器1002执行以实现图2或图4所示方法实施例中参与方设备的技术方案,或者图6所示方法实施例中host方的技术方案。
[0324]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器1102执行以实现图7至图9所示方法实施例中第一设备的技术方案。
[0325]
本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现图2或图4所示方法实施例中发起方设备的技术方案,或者图6所示方法实施例中guest方的技术方案。
[0326]
本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现图2或图4所示方法实施例中参与方设备的技术方案,或者图6所示方法实施例中host方的技术方案。
[0327]
本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现图7至图9所示方法实施例中第一设备的技术方案。
[0328]
应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发
明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0329]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0330]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0331]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0332]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于上述装置中。
[0333]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献