CN114997345A - 随机森林训练方法及装置 - Google Patents
随机森林训练方法及装置 Download PDFInfo
- Publication number
- CN114997345A CN114997345A CN202210941061.2A CN202210941061A CN114997345A CN 114997345 A CN114997345 A CN 114997345A CN 202210941061 A CN202210941061 A CN 202210941061A CN 114997345 A CN114997345 A CN 114997345A
- Authority
- CN
- China
- Prior art keywords
- data
- training
- category
- samples
- class
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种随机森林训练方法及装置,通过训练样本的当前特征的数据样本按照从小到大的顺序进行排列;对决策树的当前节点,将第一训练样本集中相邻的不同数据样本的中间值作为切分点;计算每个切分点切分出的第一类别数据和第二类别数据的代表值;计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;根据决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。本发明具有高安全性,可使数据在各个参与方中可用不可见,达到不泄露数据又能共同建模的目的。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种随机森林训练方法、装置、计算机设备和存储介质。
背景技术
随机森林属于集成算法中的一种,通过训练多种弱分类器,通过各个弱分类器进行投票或取均值的方法得出最终结果,使得随机森林的结果具备了较高的精确度和泛化性。如今对数据的保密要求日益增高,且往往一方拥有的数据数量有限,故萌生了多方共同训练模型的需求,且要求数据不泄露给他方,于是隐私计算的概念油然而生,即数据可用不可见。
目前主流的随机森林算法仅支持单机版,针对多参与者且不想泄露数据给他人的隐私计算场景,主流的随机森林算法无法满足保护数据的要求。
针对相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种随机森林训练方法、装置、计算机设备和存储介质,用以解决相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题。
为了实现上述目的,本发明实施例的第一方面,提供一种随机森林训练方法,包括:
判断训练样本中的当前特征是否属于训练发起方;
如果当前特征属于训练发起方,则采取如下步骤:
步骤1:对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
步骤2:对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
步骤3:根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤4:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤5:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
可选地,在第一方面的一种可能实现方式中,所述方法还包括:
如果当前特征属于训练参与方,则采取如下步骤:
步骤1:所述训练发起方将所述训练样本的标签加密传输至所述训练参与方;
步骤2:对训练参与方具有的训练样本的第二特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第二训练样本集;
步骤3:对决策树的当前节点,将所述第二训练样本集中相邻的不同数据样本的中间值作为切分点,其中每个切分点用于将第二训练样本集分为第一类别数据和第二类别数据;
步骤4:所述训练参与方利用加密算法计算每个切分点对应的相关数据,并将所述相关数据发送至训练发起方,其中所述相关数据包括第一类别数据的总和、第二类别数据的总和,以及统计每个切分点对应的第一类别数据的样本数量和第二类别数据的样本数量;
步骤5:所述训练发起方接收到所述相关数据后,对其进行解密,并根据所述相关数据计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤6:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤7:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
可选地,在第一方面的一种可能实现方式中,根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值,包括:
根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
其中,代表第一类别数据的代表值,代表第二类别数据的代表值,代表第
一类别数据中的数据样本, 代表第二类别数据中的数据样本,代表第一类别数据中的
数据样本对应的标签,代表第二类别数据中的数据样本对应的标签,N代表数据样本的数
量,代表第一类别数据,代表第二类别数据。
可选地,在第一方面的一种可能实现方式中,根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,包括:
其中,代表每个切分点的平方误差,代表第一类别数据的代表值,代
表第二类别数据的代表值,代表第一类别数据中的数据样本, 代表第二类别数据中的
数据样本,代表第一类别数据中的数据样本对应的标签,代表第二类别数据中的数据
样本对应的标签,代表第一类别数据,代表第二类别数据。
可选地,在第一方面的一种可能实现方式中,所述方法还包括:
将所述最优切分点对应的特征作为全局最优切分特征。
本发明实施例的第二方面,提供一种随机森林训练装置,包括:
判断模块,用于判断训练样本中的当前特征是否属于训练发起方,如果当前特征属于训练发起方,则采取如下步骤:
数据样本排列模块,用于对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
切分点确定模块,用于对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
代表值计算模块,用于根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
最优切分点计算模块,用于根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
决策树训练模块,用于根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
可选地,在第二方面的一种可能实现方式中,所述代表值计算模块,包括:
代表值计算单元,用于根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
其中,代表第一类别数据的代表值,代表第二类别数据的代表值,代表第
一类别数据中的数据样本, 代表第二类别数据中的数据样本,代表第一类别数据中的
数据样本对应的标签,代表第二类别数据中的数据样本对应的标签,N代表数据样本的数
量,代表第一类别数据,代表第二类别数据。
本发明实施例的第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。
本发明实施例的第四方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述方法的步骤。
本发明提供的随机森林训练方法、装置、计算机设备和存储介质,通过对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。本发明能够解决相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题,具有高安全性,可使数据在各个参与方中可用不可见,达到了不泄露数据又能共同建模的目的;并且能够有效保护双方数据处于加密状态不被泄漏,即便通信内容被拦截破解也无法反推出原始数据信息。
附图说明
图1为本发明实施例提供的随机森林训练方法的流程图;
图2为本发明实施例提供的随机森林训练装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本申请中的随机森林是由无数棵决策树组成的,是基于决策树算法,即Cart决策树算法实现的,由于Cart决策树算法支持回归、分类功能,因此随机森林也具备回归、分类两大功能,具体如下:
实施例1:
本发明提供一种随机森林训练方法,以回归树为主,如图1所示其流程图,包括:
在步骤1之前:需要从训练集中有放回的随机取出一部分数据D={(x1,y1),(x1,y1),...,(x1,y1)},一共N条数据(其中第n条数据xn含有K个特征,即xn=(xn,1,xn,2,...,xn,k))作为训练样本,通过如下步骤对单棵决策树进行训练,若要构建N棵树重复如下步骤N次即可。随机森林是以单棵树的预测结果为基础,最终结果由各个树的预测结果统计得到的。
考虑到需要对训练样本中的每个特征进行遍历,因此,本申请需要判断训练样本中的当前特征是否属于训练发起方,或者说是属于训练发起方还是属于训练参与方,如果当前特征属于训练发起方,则训练发起方可直接通过下述步骤计算当前特征数据的切分点,并选取出当前特征的最优切分点。
步骤S1、对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签。
在本步骤中,当前特征是指训练样本中的任意一个特征,数据样本是指训练样本中的任意一个特征的数据样本;在获取到当前特征的数据样本后首先需要对其数据样本按照从小到大的顺序进行排列,例如:{11233344567}。
步骤S2、对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据。
在步骤S2中,对决策树的当前节点(例如根节点或者其他任意节点),均可采取如下方式确定切分点。对“将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点”进行举例说明:可将第一训练样本集{1123334}分为:第一箱中的数据为1、1,第二箱中的数据为2,第三箱中的数据为3、3、3,第四箱中的数据为4,且4个分箱产生了3个切分点,分别位于第一、第二箱之间,第二、第三箱之间,第三、第四箱之间。其中,每一个切分点都可以将第一训练样本集分为左右两个数据,即第一类别数据和第二类别数据;例如,当切分点位于第一、第二箱之间时,第一类别数据包括11,第二类别数据包括23334;当第一切分点位于第二、第三箱之间时,第一类别数据包括112,第二类别数据包括3334。另外,如果第一训练样本集中的N条数据均不相同,则会产生N-1个切分点,例如“S{1,2,3,...,N}=S1,S2,S3,...,SN-1”。
步骤S3、根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值。
在该步骤中,会根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值。
其中,代表第一类别数据的代表值,代表第二类别数据的代表值,代表第
一类别数据中的数据样本, 代表第二类别数据中的数据样本,代表第一类别数据中的
数据样本对应的标签,代表第二类别数据中的数据样本对应的标签,N代表数据样本的数
量,代表第一类别数据,代表第二类别数据。
步骤S4、根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点。
在步骤S4中,在根据第一类别数据和第二类别数据的代表值计算一个切分点的平方误差后,采取相同方式计算所有切分点的平方误差,并将所有切分点的平方误差记性比较,将其中最小平方误差所对应的切分点确定为当前节点的最优切分点。计算每个切分点的平方误差所使用的公式如下:
其中,代表每个切分点的平方误差,代表第一类别数据的代表值,代
表第二类别数据的代表值,代表第一类别数据中的数据样本, 代表第二类别数据中的
数据样本,代表第一类别数据中的数据样本对应的标签,代表第二类别数据中的数据
样本对应的标签,代表第一类别数据,代表第二类别数据。
步骤S5、根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
在一个实施例中,所述方法还包括:将所述最优切分点对应的特征作为全局最优切分特征。
在一个实施例中,所述方法还包括:
如果当前特征属于训练参与方,则采取如下步骤:
步骤1:所述训练发起方将所述训练样本的标签加密传输至所述训练参与方;其中,使用Paillier加密算法进行加密。
步骤2:对训练参与方具有的训练样本的第二特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第二训练样本集。
步骤3:对决策树的当前节点,将所述第二训练样本集中相邻的不同数据样本的中间值作为切分点,其中每个切分点用于将第二训练样本集分为第一类别数据和第二类别数据。
步骤4:所述训练参与方利用加密算法计算每个切分点对应的相关数据,并将所述相关数据发送至训练发起方,其中所述相关数据包括第一类别数据的总和、第二类别数据的总和,以及统计每个切分点对应的第一类别数据的样本数量和第二类别数据的样本数量。
在步骤4中,训练参与方利用Paillier加密算法支持“密文下支持求和操作”的特
性,计算第一类别数据的总和SumR1、第二类别数据的总和SumR2、以及统计第一类别数据R1
的数据样本数量和第二类别数据R2的数据样本数量,并将以上4个数据发送至训练
发起方。具体公式如下:
步骤5:所述训练发起方接收到所述相关数据后,对其进行解密,并根据所述相关数据计算每个切分点切分出的第一类别数据和第二类别数据的代表值。
步骤6:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点。
步骤7:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
本发明提供的随机森林训练方法,通过对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。本发明能够解决相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题,具有高安全性,可使数据在各个参与方中可用不可见,达到了不泄露数据又能共同建模的目的;并且能够有效保护双方数据处于加密状态不被泄漏,即便通信内容被拦截破解也无法反推出原始数据信息。并且可以以更高的训练精度完成对决策树的训练过程,使得决策树可同时被训练发起方和训练参与方使用,且互相之间数据不共享,在提升训练精度的同时,保证了数据的安全性。
实施例2:
本发明提供一种随机森林训练方法,还具备分类功能,以分类树为主,具体步骤如下:
如果训练样本中的当前特征属于训练发起方,则训练发起方可直接通过下述步骤计算当前特征数据的切分点,并选取出当前特征的最优切分点。
步骤1:对训练发起方具有训练样本中的当前特征的数据样本进行排序、分箱处理后得到的所有切分点,其中所述训练发起方具有所述训练样本的标签。
步骤2:采取如下公式分别计算每个切分点所对应的基尼系数;
步骤3:比较每个切分点对应的基尼系数,将其中最小的基尼系数所对应的切分点作为当前特征列的最优切分点。
步骤4:根据各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
如果训练样本中的当前特征属于训练参与方,则采取如下步骤计算当前特征数据的切分点,并选取出当前特征的最优切分点。
步骤1:训练发起方将标签加密传输至训练参与方,训练参与方可获得加密状态的标签。可通过Secret Sharing(秘钥共享)算法进行加密,并传输至训练参与方。
步骤2:训练参与方遍历每个切分点,并根据切分点将数据分为第一样本空间
和第二样本空间,并且产生一个掩膜x=(0,0,1,...,1,0,1),其中=0代表第i个样本属
于,=1代表第i个样本属于。在这过程中,训练参与方将切分结果通过Secret
Sharing(秘钥共享)算法进行加密,并传输至训练发起方,由此训练发起方和训练参与方共
同拥有密文状态下的y,X,以及样本空间、的样本数量、。
步骤3:训练发起方和训练参与方分别利用如下公式计算每个切分点的基尼系数;
步骤4:比较每个切分点对应的基尼系数,将其中最小的基尼系数所对应的切分点作为当前特征列的最优切分点。
步骤5:根据各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
具体地,该实施例中所涉及的训练样本的获取,数据样本的排序,分箱等步骤与实施例1中相同,在此不作赘述。与实施例1的训练方法主要区别在于确定最优切分点的方法不同,所使用的判断指标不同(实施例1中的回归树是以最小平方误差对应的切分点作为最优切分点,而实施例2中的分类树是以最小基尼系数对应的切分点作为最优切分点);并且在于预测结果上,实施例1中的回归树是以叶子节点上所有样本值的均值为主,而实施例2中的分类树是以叶子节点上样本类别最多的一类为主。
通过本实施例随机森林训练的方法,能够精准的解决数据泄漏问题,通信内容均为对数据的统计值,脱离了与原始数据的关系,避免了原始数据进行加密通信中的泄露问题,即便通信内容被拦截破解也无法反推出原始数据信息,从而达到了“可用不可见”和“高安全”的特性。并且可以以更高的训练精度完成对决策树的训练过程,使得决策树可同时被训练发起方和训练参与方使用,且互相之间数据不共享,在提升训练精度的同时,保证了数据的安全性。
实施例3:
本发明的实施例还提供一种随机森林训练装置,如图2所示,包括:
判断模块,用于判断训练样本中的当前特征是否属于训练发起方,如果当前特征属于训练发起方,则采取如下步骤:
数据样本排列模块,用于对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
切分点确定模块,用于对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
代表值计算模块,用于根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
最优切分点计算模块,用于根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
决策树训练模块,用于根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
在一个实施例中,所述代表值计算模块,包括:
代表值计算单元,用于根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
其中,代表第一类别数据的代表值,代表第二类别数据的代表值,代表第
一类别数据中的数据样本, 代表第二类别数据中的数据样本,代表第一类别数据中的
数据样本对应的标签,代表第二类别数据中的数据样本对应的标签,N代表数据样本的数
量,代表第一类别数据,代表第二类别数据。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,DSP)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种随机森林训练方法,其特征在于,包括:
判断训练样本中的当前特征是否属于训练发起方;
如果当前特征属于训练发起方,则采取如下步骤:
步骤1:对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
步骤2:对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
步骤3:根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤4:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤5:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
2.根据权利要求1所述的随机森林训练方法,其特征在于,所述方法还包括:
如果当前特征属于训练参与方,则采取如下步骤:
步骤1:所述训练发起方将所述训练样本的标签加密传输至所述训练参与方;
步骤2:对训练参与方具有的训练样本的第二特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第二训练样本集;
步骤3:对决策树的当前节点,将所述第二训练样本集中相邻的不同数据样本的中间值作为切分点,其中每个切分点用于将第二训练样本集分为第一类别数据和第二类别数据;
步骤4:所述训练参与方利用加密算法计算每个切分点对应的相关数据,并将所述相关数据发送至训练发起方,其中所述相关数据包括第一类别数据的总和、第二类别数据的总和,以及统计每个切分点对应的第一类别数据的样本数量和第二类别数据的样本数量;
步骤5:所述训练发起方接收到所述相关数据后,对其进行解密,并根据所述相关数据计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤6:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤7:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
5.根据权利要求1所述的随机森林训练方法,其特征在于,所述方法还包括:
将所述最优切分点对应的特征作为全局最优切分特征。
6.一种随机森林训练装置,其特征在于,包括:
判断模块,用于判断训练样本中的当前特征是否属于训练发起方,如果当前特征属于训练发起方,则采取如下步骤:
数据样本排列模块,用于对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
切分点确定模块,用于对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
代表值计算模块,用于根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
最优切分点计算模块,用于根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
决策树训练模块,用于根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任意一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210941061.2A CN114997345A (zh) | 2022-08-08 | 2022-08-08 | 随机森林训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210941061.2A CN114997345A (zh) | 2022-08-08 | 2022-08-08 | 随机森林训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114997345A true CN114997345A (zh) | 2022-09-02 |
Family
ID=83023139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210941061.2A Pending CN114997345A (zh) | 2022-08-08 | 2022-08-08 | 随机森林训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114997345A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116109019A (zh) * | 2023-04-12 | 2023-05-12 | 成都英沃信科技有限公司 | 一种基于随机森林的气井日产气量预测方法及设备 |
-
2022
- 2022-08-08 CN CN202210941061.2A patent/CN114997345A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116109019A (zh) * | 2023-04-12 | 2023-05-12 | 成都英沃信科技有限公司 | 一种基于随机森林的气井日产气量预测方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021114585A1 (zh) | 模型训练方法、装置和电子设备 | |
JP2016509268A (ja) | プライバシーを保護する計数の方法およびシステム | |
Liu et al. | Intelligent and secure content-based image retrieval for mobile users | |
CN110096897A (zh) | 数据脱敏方法及装置、数据泄露源头定位方法及装置 | |
CN111143865B (zh) | 一种密文数据上标签自动生成的用户行为分析系统及方法 | |
US10567374B2 (en) | Information processing method and server | |
Nazarenko et al. | Features of application of machine learning methods for classification of network traffic (features, advantages, disadvantages) | |
CN114553593B (zh) | 多方安全计算隐私求交方法、装置、设备及存储介质 | |
CN110365679B (zh) | 基于众包评估的情境感知云端数据隐私保护方法 | |
CN111506924A (zh) | 一种差分隐私保护方法、装置及计算机可读存储介质 | |
CA2566281A1 (en) | Apparatus, system, and method for protecting content using fingerprinting and real-time evidence gathering | |
CN114997345A (zh) | 随机森林训练方法及装置 | |
Kotal et al. | Privetab: Secure and privacy-preserving sharing of tabular data | |
CN115242371A (zh) | 差分隐私保护的集合交集及其基数计算方法、装置及系统 | |
CN114520721A (zh) | 多方安全计算隐私求交方法、装置、设备及存储介质 | |
Whalen et al. | Model aggregation for distributed content anomaly detection | |
CN111783108A (zh) | 数据查询和计算方法及系统、及存储介质 | |
CN111784337A (zh) | 权限验证方法及系统 | |
CN110443061A (zh) | 一种数据加密方法和装置 | |
CN115982779B (zh) | 一种数据匿名化方法、装置、电子设备及存储介质 | |
CN112685788A (zh) | 数据处理方法和装置 | |
CN112099870A (zh) | 文档处理方法、装置、电子设备及计算机可读存储介质 | |
CN115310137B (zh) | 一种智能结算系统的保密方法及相关装置 | |
US11907874B2 (en) | Apparatus and method for generation an action validation protocol | |
CN115481415A (zh) | 基于纵向联邦学习的通信成本优化方法、系统、设备及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220902 |