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

基于随机森林的缺失值填充方法、装置和计算机设备

2022-08-11 04:37:11 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,特别是涉及一种基于随机森林的缺失值填充方法、装置和计算机设备。


背景技术:

2.随着数据科学的发展,缺失数据成为了一个基本研究问题,无论是工业生产还是科学研究,数据缺失都是一种不可避免的现象。由于技术条件的限制和数据采集的成本,一些数据的缺失是不可避免的,即使收集到了完整的数据,在存储和应用的过程中,由于技术故障、人为设计问题和操作失误等原因,仍然会出现数据丢失。在数据科学领域,数据缺失问题是一个普遍而重要的问题。随着近年来数据科学和人工智能的发展,以机器学习为主导的数据建模和分析方法如火如荼。在数据预处理的过程中,缺失数据的研究涉及到各个应用领域,如医疗、金融系统、生物科学、气候研究以及社会问题。
3.在许多研究中,对缺失数据的处理方法是直接消除,在数据量相对充足的情况下,这种方法很简单,也很容易,但从数据科学的角度来看,被消除的数据可能是包含关键信息的数据,如果能够有效填补,势必对数据分析的结果产生一定程度的积极意义。在传统的研究中,缺失数据的填补主要依靠现有的数据来模拟整体的数据分布,然后以一定的统计指标作为填补规则,现有的机器学习算法在处理缺失数据问题上的主要思路也都是集中在对数据分布的模拟上。比如现行的随机森林数据填充方法,为了避免过拟合,并没有充分利用到每一个现有数值,是一种粗粒度的填补方法。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够充分考虑到每个现有数据对缺失值影响的、细粒度的基于随机森林的缺失值填充方法、装置和计算机设备。
5.一种基于随机森林的缺失值填充方法,所述方法包括:
6.获取目标样本集;所述目标样本集包括不缺失特征值的非缺失样本集和缺失特征值的缺失样本集;
7.根据特征值缺失类型对所述缺失样本集进行划分,得到若干个嵌套缺失样本组;所述嵌套缺失样本组包含多个按照特征值缺失数量排列的缺失样本;各所述嵌套缺失样本组中的缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型;
8.根据所述嵌套缺失样本组构建嵌套随机森林;所述嵌套随机森林的每一嵌套层与缺失样本对应;
9.采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本进行缺失特征值的填充;当前嵌套层对应的非缺失样本集为每一嵌套随机森林的上一嵌套层填充得到的样本和上一嵌套层对应的非缺失样本集。
10.在其中一个实施例中,所述根据所述嵌套缺失样本组构建嵌套随机森林,包括:
11.当所述嵌套缺失样本组中存在2个以上特征值缺失数量和类型均相同的缺失样本时,在对应的嵌套层构建对应的2个以上相互独立的随机森林。
12.在其中一个实施例中,采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本组进行缺失特征值的填充,包括:
13.当当前嵌套层仅存在单个样本时,采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套森林的当前嵌套层后,对当前嵌套层对应的单个样本进行缺失特征值的填充。
14.在其中一个实施例中,采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本组进行缺失特征值的填充,还包括:
15.当当前嵌套层存在2个以上样本时,采用当前嵌套层对应的非缺失样本集作为训练集分别训练所述当前嵌套层的2个以上相互独立的随机森林,对当前嵌套层对应的2个以上样本分别进行缺失特征值的填充。
16.在其中一个实施例中,在采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本进行缺失特征值的填充之后,还包括:
17.将每一嵌套随机森林当前嵌套层对应的样本进行特征值填充后得到的样本与当前嵌套层对应的非缺失样本集一并作为每一嵌套森林下一嵌套层对应的非缺失样本集。
18.在其中一个实施例中,所述采用所述当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套随机森林的当前嵌套层,包括:
19.对所述当前嵌套层对应的非缺失样本集进行重采样,得到若干个非缺失样本子集;
20.在各所述非缺失样本子集中随机选择若干个特征,并从中选择最佳决策特征构建当前嵌套层随机森林的各决策树,采用各所述非缺失样本子集分别训练当前嵌套层中各随机森林的各决策树。
21.一种基于随机森林的缺失值填充装置,所述装置包括:
22.获取模块,用于获取目标样本集;所述目标样本集包括不缺失特征值的非缺失样本集和缺失特征值的缺失样本集;
23.划分模块,用于根据特征值缺失类型对所述缺失样本集进行划分,得到若干个嵌套缺失样本组;所述嵌套缺失样本组包含多个按照特征值缺失数量排列的缺失样本;各所述嵌套缺失样本组中的缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型;
24.构建模块,用于根据所述嵌套缺失样本组构建嵌套随机森林;所述嵌套随机森林的每一嵌套层与缺失样本对应;
25.填充模块,用于采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本进行缺失特征值的填充;当前嵌套层对应的非缺失样本集为每一嵌套随机森林的上一嵌套层填充得到的样本和上一嵌套层对应的非缺失样本集。
26.在一个实施例中,所述构建模块还用于:
27.当所述嵌套缺失样本组中存在2个以上特征值缺失数量和类型均相同的缺失样本时,在对应的嵌套层构建对应的2个以上相互独立的随机森林。
28.在一个实施例中,所述填充模块还用于:
29.当当前嵌套层仅存在单个样本时,采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套森林的当前嵌套层后,对当前嵌套层对应的单个样本进行缺失特征值的填充;
30.当当前嵌套层存在2个以上样本时,采用当前嵌套层对应的非缺失样本集作为训练集分别训练所述当前嵌套层的2个以上相互独立的随机森林,对当前嵌套层对应的2个以上样本分别进行缺失特征值的填充。
31.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
32.获取目标样本集;所述目标样本集包括不缺失特征值的非缺失样本集和缺失特征值的缺失样本集;
33.根据特征值缺失类型对所述缺失样本集进行划分,得到若干个嵌套缺失样本组;所述嵌套缺失样本组包含多个按照特征值缺失数量排列的缺失样本;各所述嵌套缺失样本组中的缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型;
34.根据所述嵌套缺失样本组构建嵌套随机森林;所述嵌套随机森林的每一嵌套层与缺失样本对应;
35.采用当前嵌套层对应的非缺失样本集作为训练集训练所述嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本进行缺失特征值的填充;当前嵌套层对应的非缺失样本集为每一嵌套随机森林的上一嵌套层填充得到的样本和上一嵌套层对应的非缺失样本集。
36.上述基于随机森林的缺失值填充方法、装置和计算机设备,通过根据特征值缺失类型对目标样本集的缺失样本集进行划分,得到包含多个按照特征值缺失数量排列的缺失样本并且缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型的若干个嵌套缺失样本组,然后根据所述嵌套缺失样本组构建嵌套随机森林,其中嵌套随机森林的每一嵌套层与缺失样本对应,最后采用当前嵌套层对应的非缺失样本集训练嵌套随机森林当前嵌套层中的随机森林,对当前嵌套层对应的缺失样本进行缺失特征值的填充。本发明根据特征值缺失类型对目标样本集的缺失样本集进行多重划分,并根据得到的嵌套缺失样本组构建若干个嵌套随机森林,如此逐级地进行缺失值填充,在考虑已知数据整体分布的同时,充分利用数据的个体和局部特征,实现了精细化的缺失值填补。
附图说明
37.图1为一个实施例中基于随机森林的缺失值填充方法的流程示意图;
38.图2为一个实施例中嵌套缺失样本组的梯状结构示意图;
39.图3为一个实施例中缺失数据间的特例关系示意图;
40.图4为一个实施例中示例数据库嵌套随机森林示意图;
41.图5为一个实施例中基于随机森林的缺失值填充装置的结构框图;
42.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
43.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
44.在一个实施例中,如图1所示,提供了一种基于随机森林的缺失值填充方法,包括以下步骤:
45.步骤102,获取目标样本集。
46.目标样本集是指存在数据缺失问题并有待进行数据填充的样本集合,目标样本集可以是雷达数据样本集,例如,干扰的存在以及探测设备本身存在测量误差等原因,导致雷达采集的数据中存在某些特征参数的缺失,就可以采用本方法进行缺失特征值的填充。目标样本集还可以是社交网络用户样本集,一个样本包括一名用户的若干个属性以及对应的属性值,目标样本集可以表格或者矩阵的形式进行呈现。
47.目标样本库包括不缺失特征值的非缺失样本集和缺失特征值的缺失样本集。一个样本可能包含多个维度的特征属性,若该样本在全部特征属性上均有对应的特征值,那么该样本属于非缺失样本集,对应的,若该样本只要在一个特征属性上缺失对应的特征值,该样本就属于缺失样本集。
48.步骤104,根据特征值缺失类型对缺失样本集进行划分,得到若干个嵌套缺失样本组。
49.嵌套缺失样本组包含多个按照特征值缺失数量排列的缺失样本,各嵌套缺失样本组中的缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型。
50.可以将嵌套缺失样本组看作是一个梯状结构,不同节阶梯代表不同的特征值缺失数量,其中位置越靠上方的阶梯的缺失样本的特征值缺失数量越小。同时,每节阶梯间的高度差可能不一致,也就是说,在某一节阶梯可能存在2个以上特征值缺失类型完全一致的缺失样本,比如表1中第7和第8个数据的特征值缺失数量均为4,并且特征值缺失类型均相同。
51.表1特征值缺失例
52.数据1√√√√√
×
数据2√√√√
×
√数据3√√√√
××
数据4√√√
××
√数据5√√
××
√√数据6√√√
×××
数据7√√
××××
数据8√√
××××
53.当样本的特征值缺失数量相同,但缺失类型不完全相同,比如表1中数据1和数据2的特征缺失数量均为1,但是特征值缺失类型不同,或者数据3、数据4、数据5的特征缺失数量均为2,缺失缺失类型可能各有重合,但是不完全相同,对于这样的样本,将其划分在不同的嵌套样本组中。比如图2中呈现了划分后得到的其中一个嵌套缺失样本组{数据1,数据3,
数据6,数据7,数据8}的梯状结构,可以看到该嵌套缺失样本组中的缺失样本的特征值缺失类型涵盖了上一个阶梯中缺失样本的特征值缺失类型。同理,还能得到{数据2,数据4,数据6,数据7,数据8}的嵌套缺失样本组,可以看出,嵌套样本组间缺失样本可以有所重叠,如{数据1,数据3,数据6,数据7,数据8}和{数据2,数据4,数据6,数据7,数据8}中均包含了数据6、数据7和数据8。
54.步骤106,根据嵌套缺失样本组构建嵌套随机森林。
55.每个嵌套缺失样本组均有对应的嵌套随机森林,嵌套随机森林的每一嵌套层与缺失样本对应,同一嵌套随机森林的同一嵌套层中的样本的特征值缺失数量和特征值缺失类型均相同。
56.步骤108,采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本组进行缺失特征值的填充。
57.当前嵌套层对应的用于训练的非缺失样本集为上一嵌套层填充得到的样本和上一嵌套层对应的非缺失样本集。也就是说,每一嵌套层对缺失值进行填充之后,对应的缺失样本不再有缺失值,就将这样的经填充后的样本与本嵌套层训练时所用的缺失样本集一并作为下一嵌套层中随机森林的训练样本集,以此类推,由此可以知道,嵌套层层次越深,训练集的样本越完整、丰富,层次越深的嵌套层中的随机森林的训练结果越有效。
58.上述基于随机森林的缺失值填充方法中,通过根据特征值缺失类型对目标样本集的缺失样本集进行划分,得到包含多个按照特征值缺失数量排列的缺失样本并且缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型的若干个嵌套缺失样本组,然后根据嵌套缺失样本组构建嵌套随机森林,其中嵌套随机森林的每一嵌套层与缺失样本对应,最后采用当前嵌套层对应的非缺失样本集训练嵌套随机森林当前嵌套层中的随机森林,对当前嵌套层对应的缺失样本进行缺失特征值的填充。本发明根据特征值缺失类型对目标样本集的缺失样本集进行多重划分,并根据得到的嵌套缺失样本组构建若干个嵌套随机森林,如此逐级地进行缺失值填充,在考虑已知数据整体分布的同时,充分利用数据的个体和局部特征,实现了精细化的缺失值填补。
59.常见的数据填充方法是利用已知数据的分布来估计真实的整体分布,然后用整体的某一指标或参数进行填充,而不考虑单一数据本身的个体特征。比如现行随机森林数据填充方法,对于缺失数据的估算,这种算法取得了一定的效果,其目的是为了避免过度拟合,而不是充分利用每一个现有的数值。在本发明中,这种方式被认为是粗粒度的填充方法。
60.本发明中的个性化数据分析是指以真实数据为唯一标准,不考虑数据的应用目的,不对数据进行任何分类或预测假设,最重要的是绝不放弃任何已知值对单一数据的影响,尽可能地还原数据的个性化特征,整体分布指标只作为重要的参考依据而不是决策依据。
61.在一个实施例中,根据嵌套缺失样本组构建嵌套随机森林,包括:
62.当嵌套缺失样本组中存在2个以上特征值缺失数量和类型均相同的缺失样本时,在对应的嵌套层构建对应的2个以上相互独立的随机森林。
63.随机森林之间相互独立指的是缺失样本组中不同样本的随机森林的训练以及缺失值填补过程互不影响,在实际应用中,为了节省时间资源,可以对同一嵌套层中的不同样
本的随机森林同时进行训练,但是训练过程相互独立;缺失值填补过程互不影响是指,同一嵌套层的不同样本之间互不作为对方填充缺失值时的参考值,比如表1中,数据7和数据8位于同一嵌套缺失样本组,但是两者的训练和缺失值填充过程相互独立,两者互不作为对方填充缺失值时进行考虑的现有数据。
64.在一个实施例中,采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本组进行缺失特征值的填充,包括:
65.当当前嵌套层仅存在单个样本时,采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套森林的当前嵌套层后,对当前嵌套层对应的单个样本进行缺失特征值的填充。
66.当当前嵌套层存在2个以上样本时,采用当前嵌套层对应的非缺失样本集作为训练集分别训练当前嵌套层的2个以上相互独立的随机森林,对当前嵌套层对应的2个以上样本分别进行缺失特征值的填充。
67.将每一嵌套随机森林当前嵌套层对应的样本进行特征值填充后得到的样本与当前嵌套层对应的非缺失样本集一并作为每一嵌套森林下一嵌套层对应的非缺失样本集。
68.也就是说,若干个嵌套随机森林的计算过程可以并行开展,同时每个嵌套随机森林的各个嵌套层所采用的训练集-非缺失样本集是一致的并且是随着缺失值填充而进行更新的,例如表1划分得到的2个嵌套缺失样本组{数据1,数据3,数据6,数据7,数据8}和{数据2,数据4,数据6,数据7,数据8},其对应的2个嵌套随机森林的第一个嵌套层分别对数据1和数据2的缺失特征值进行填充,填充后得到的完整数据1

和数据2

可以与第一个嵌套层所使用的训练集一并作为各个嵌套随机森林的下一嵌套层的随机森林的训练集。
69.在一个实施例中,采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套随机森林的当前嵌套层,包括:
70.对当前嵌套层对应的非缺失样本集进行重采样,得到若干个非缺失样本子集,在各非缺失样本子集中随机选择若干个特征,并从中选择最佳决策特征构建当前嵌套层随机森林的各决策树,采用各非缺失样本子集分别训练当前嵌套层中各随机森林的各决策树。
71.下面将结合一简单样本库对本发明的具体实现进行阐述。
72.表1示例样本库
[0073][0074]
为方便理解,对表1所示的示例样本进行线性变换得到表2的样本库。
[0075]
表2样本库
[0076][0077]
将数据1、数据3、数据5作为非缺失数据,以数据2的填充为例,在常见的填充方法中,特征4的填充值为15.0、特征6的填充值为2.8,从个性化数据估算的角度来看,这种方法比较粗糙,没有充分考虑每个现有数据的特点,也没有充分利用每个现有数据的价值。
[0078]
个性化填充的重要依据是其特征3的7.5和特征5的11.9,在非缺失数据(数据1、数据3、数据5)中,特征1、特征2、特征5是稳定的。通过分析特征3、特征4和特征6之间的数字关系,17.0和2.2更适合填入数据2的特征4和特征6,而不是以普通的计算平均值的方式填入15.0和2.8。在填充数据2的缺失值时,由于数据不足,数据2的特征5的值11.9似乎没有价值,但是在对数据4的特征5进行归类时,它决定了数据4的特征5填充值更倾向于11.9而不是12.0。
[0079]
同理,7.x可能比8.x在数据7中填充特征3更好,在数据6中填充特征1时,3.1概率比2.6更大。换句话说,可以将数据2看做是数据4的一个可能的填充结果,数据4是数据7的一种可能填充结果,而它们都是数据6的具体例子。如图2所示,这些缺失数据之间根据不同的特征值缺失数量划分后存在着特例关系。
[0080]
从表2中可以看到,数据6是一个特征值完全缺失的数据,根据每个数据特征的总体分布来填充数据6是合理的,根据普通的平均值方法得到的数据6的填充值可能是3.0,这样填充在一般情况下会被认为是合理的,因为它在允许的误差范围内,然而,这正是个性化填充的关注点。在不考虑数据特征语义的情况下,仅仅从数值本身判断误差是否合理,其实是一种误差较大的判断。本方法强调每一个真实数据的存在都具有重要意义。当真实数据记录产生时,它就反映了数据主体当时的状态,它不是简单地由整个数据体的分布决定的,而是更多地取决于数据主体本身。所以应该综合考虑整体数据的多样性和每个数据自身的特点。本发明认为,当数据产生时,不能将其分为每一个数据特征,而是数据生成主体状态的一种表现形式。只要是以某种形式记录的数据,就一定是缺失的,一定有未被考虑或记录的东西。这也是数据建模不能像数学建模那样准确解决问题的原因。所以在本发明看来,每一个真实的数值都是数据主体产生数据时的一种反映,都应该被合理地考虑到。这正是本方法提出的缺失数据的填补概念,以此做到填充数据真正接近于原始数据。
[0081]
随机森林可以看作是多个决策树的组合,本方法中提出的嵌套随机森林是根据特征值缺失类型将一片森林视为由若干个小的嵌套随机森林组成,子森林参与大森林的训练过程和缺失值的填充过程,结合目标数据库的实际情况,逐级嵌套就构成了一个具有细粒度归因的嵌套随机森林。
[0082]
本方法将表2中的数据7视为数据6的一个特例,也就是说,数据6应该是嵌套在数据7的数据填充模型下的一个特例模型,数据7的填充模型可以作为数据6的填充过程的参考,所以本方法将数据7的填充模型作为数据6的嵌套模型,也就是说,将数据7的整个随机森林视为数据6的嵌套随机森林。
[0083]
于是,可以根据特征值缺失数量的多少来构建表2中缺失数据集{数据2,数据4,数据7,数据6}的嵌套随机森林。由于表2中呈现的数据比较简单,可以容易地得到其对应的随机嵌套森林,如图3所示。
[0084]
每个现有数据都是一个具体的数据点,而每个缺失数据根据其自身的类型都是一个范围,这些范围是严格嵌套的。整个模型可以充分利用每一个客观有效值,帮助数据归纳的完整性。理论上,首先训练数据2的随机森林,然后将数据2的模型整合到数据4模型的投票过程中,以此类推。在实践中,由于森林模型的树状结构之间的低耦合关系,有些训练可以并行进行,这样可以提高计算程序的实际并行程度,节省大量的训练时间。
[0085]
嵌套式随机森林将缺失的数据分为不同的类型,并根据具体情况充分利用每个非缺失值。在考虑已知数据整体分布的同时,充分利用数据的个体和局部特征,实现了精细化的缺失值填补,取得了比现有方法更好的填充结果。
[0086]
在一个实施例中,对于一个m
×
n的数据矩阵,在线性平移后有一个m
′×n′
大小的包含缺失值的矩阵,其中n'≤n,m'《m。(1)当m'=m时,意味着所有数据都存在缺失特征,没有一条完整的数据可以作为参考,模型的工作误差较大。(2)理论上,如果将具有相同缺失特征的数据划分为一个填充类型,最多会有2n'个类型。当n
′→
∞时即出现np问题。然而,在实际的数据集中,想要达到这种不可计算性,还需要存在有足够的缺失数据条目,即满足m'》2n'。这两个因素必须同时满足,才会出现上述计算量问题。虽然这是一个小概率事件,但解决方案应该是有效和可行的。即使出现这种特殊情况,由于上面讨论的子森林的并行可行性,可以通过扩大计算资源进行并行加速。事实上,实际的缺失值数据特征通常有重叠,这意味着实际的缺失数据类型量k《《2n'。在实际应用中,如果随机森林模型的时间复杂度为o(mn logm),那么不进行并行计算的嵌套随机森林的时间复杂度为k
×
0(mn logm),其中k是一个常数。
[0087]
为了验证本方法的适用性,择了来自加利福尼亚大学(尔湾)的机器学习公开数据集,在医疗、金融和交通等不同行业的真实数据集进行测试。haberman's survival(hm)数据集包含306名肺癌患者的4个维度的数据。spambase data set(sb)数据集包含268079条垃圾邮件57个维度的数据。本方法对上述数据集训练数据的缺失数据比例做出了重新调整,以便更好地对方法进行对比。数据集设定为缺失值占比10%,30%,50%,70%和90%,每次随机选择缺失数据值所在的行列位置,直至满足缺失值需要的总数量。
[0088]
为了验证本方法的稳定性,选择了平均绝对误差(mean absolute error,mae)和平均平方误差(mean square error,mse)同时对数据填充误差进行判别,比较经算法填充后的数据矩阵和真实完整数据之间的误差,如公式(1)(2)所示。
[0089]
[0090][0091]
其中,filling-value为填充值,true-value为真实值。因为评价方法的侧重点在于填充数据误差的比对,mae侧重平均填充效果,而mse更偏重个别异常值的考量,如mae值相同,但mse值偏大,则说明填充方法存在较大的不稳定性。
[0092]
以5个现有的缺失值填充方法作为基线方法,与本方法进行对比,基线算法和本方法呈现如下:
[0093]
(1)统计类常用算法:平均值填充(mean),随机填充(random),k临近值填充(knn),期望最大化(em)
[0094]
(2)生成对抗神经网络gan系列算法:gain
[0095]
(3)本方法为嵌套随机森林方法(nrf)
[0096]
以下各个表格呈现了500次随机抽取随机值实验的平均误差值结果,其中表3和表4分别呈现了hm数据集的mae误差值和mse误差值,表5和表6分别呈现了sb数据集的mae误差值和mse误差值。表中missing-num表示特征值缺失数量。
[0097]
表3 hm数据集mae误差值
[0098][0099]
表4 hm数据集mse误差值
[0100][0101]
表5 sb数据集mae误差值
[0102][0103]
表6 sb数据集mse误差值
[0104][0105]
从表5和表6可以看出,在sb数据集中,数据量有了明显的增长,而gain和nrf方法的效果有明显的优势,其中本发明的nrf方法效果最好。从表5中,gain和nrf各具优势,而从表6中可以看到,nrf比gain方法更稳定,误差波动更小。
[0106]
对以上各个数据集的多次实验数据误差取平均值,汇总后排名,如表7所示。可以看出,在综合表现下,nrf方法有明显的优势。
[0107]
表7各数据集总误差均值排名
[0108][0109]
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分
步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0110]
在一个实施例中,如图4所示,提供了一种基于随机森林的缺失值填充装置,包括:获取模块、划分模块、构建模块和填充模块,其中:
[0111]
获取模块,用于获取目标样本集。
[0112]
目标样本集包括不缺失特征值的非缺失样本集和缺失特征值的缺失样本集。
[0113]
构建模块,用于根据特征值缺失类型对缺失样本集进行划分,得到若干个嵌套缺失样本组。
[0114]
嵌套缺失样本组包含多个按照特征值缺失数量排列的缺失样本,各嵌套缺失样本组中的缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型;
[0115]
划分模块,用于根据嵌套缺失样本组构建嵌套随机森林。
[0116]
嵌套随机森林的每一嵌套层与缺失样本对应。
[0117]
填充模块,用于采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本进行缺失特征值的填充。
[0118]
当前嵌套层对应的非缺失样本集为每一嵌套随机森林的上一嵌套层填充得到的样本和上一嵌套层对应的非缺失样本集。
[0119]
在一个实施例中,构建模块还用于当嵌套缺失样本组中存在2个以上特征值缺失数量和类型均相同的缺失样本时,在对应的嵌套层构建对应的2个以上相互独立的随机森林。
[0120]
在一个实施例中,填充模块还用于当当前嵌套层仅存在单个样本时,采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套森林的当前嵌套层后,对当前嵌套层对应的单个样本进行缺失特征值的填充。
[0121]
在一个实施例中,填充模块还用于:
[0122]
当当前嵌套层仅存在单个样本时,采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套森林的当前嵌套层后,对当前嵌套层对应的单个样本进行缺失特征值的填充;
[0123]
当当前嵌套层存在2个以上样本时,采用当前嵌套层对应的非缺失样本集作为训练集分别训练当前嵌套层的2个以上相互独立的随机森林,对当前嵌套层对应的2个以上样本分别进行缺失特征值的填充。
[0124]
关于基于随机森林的缺失值填充装置的具体限定可以参见上文中对于基于随机森林的缺失值填充方法的限定,在此不再赘述。上述基于随机森林的缺失值填充装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0125]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算
机设备的数据库用于存储待填充的目标数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于随机森林的缺失值填充方法。
[0126]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0127]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0128]
获取目标样本集;目标样本集包括不缺失特征值的非缺失样本集和缺失特征值的缺失样本集;
[0129]
根据特征值缺失类型对缺失样本集进行划分,得到若干个嵌套缺失样本组;嵌套缺失样本组包含多个按照特征值缺失数量排列的缺失样本;各嵌套缺失样本组中的缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型;
[0130]
根据嵌套缺失样本组构建嵌套随机森林;嵌套随机森林的每一嵌套层与缺失样本对应;
[0131]
采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本进行缺失特征值的填充;当前嵌套层对应的非缺失样本集为每一嵌套随机森林的上一嵌套层填充得到的样本和上一嵌套层对应的非缺失样本集。
[0132]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0133]
获取目标样本集;目标样本集包括不缺失特征值的非缺失样本集和缺失特征值的缺失样本集;
[0134]
根据特征值缺失类型对缺失样本集进行划分,得到若干个嵌套缺失样本组;嵌套缺失样本组包含多个按照特征值缺失数量排列的缺失样本;各嵌套缺失样本组中的缺失样本的特征值缺失类型包含上一个缺失样本的特征值缺失类型;
[0135]
根据嵌套缺失样本组构建嵌套随机森林;嵌套随机森林的每一嵌套层与缺失样本对应;
[0136]
采用当前嵌套层对应的非缺失样本集作为训练集训练嵌套随机森林的当前嵌套层后,对当前嵌套层对应的缺失样本进行缺失特征值的填充;当前嵌套层对应的非缺失样本集为每一嵌套随机森林的上一嵌套层填充得到的样本和上一嵌套层对应的非缺失样本集。
[0137]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,
诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0138]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0139]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献