掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及对于常见的缺失数据填充问题,具体涉及为采用机器学习中的决策树算法对缺失的数据进行填充,属于机器学习领域。

背景技术

现实世界中的大多数数据并非都是完整的,大都是非结构的并且掺杂着异常或缺失的数据。造成数据缺失的因素多种多样,比如人工记录错误、信息遗漏、存储数据的硬件出错等。如果数据缺失严重,对于数据分析、数据挖掘、机器学习研究等造成很大影响。因此,如何高效、准确地填充缺失的数据是数据处理阶段所面临的一个难题。

目前存在以下几种主流的处理缺失值的方法:(1)直接删除整条缺失数据,此方法对于数据量很大且缺失值很少的数据集来说是一个可行的方法,但是对于数据本身比较少或者缺失值很多的情况下,简单的直接删除会因为数据少而严重影响数据集的可用性。(2)平均值或者众数填充也是一种常用的数据填充方法,但可能会导致过拟合且容易造成数据偏差。(3)KNN算法,KNN算法在处理数据时比较耗时,且k值的选取非常关键。

发明内容

为了解决上述问题,本发明提出了一种基于决策树的缺失数据填充方法,其中包括:

步骤1、判断分析样本缺失的属性值为离散型或者为连续型,并对离散型的样本缺失和连续型的样本缺失分别采用分类树和回归树进行预测填充;

步骤2、对连续型的数据进行归一化处理,并将文本类型的数据转换成数值型类型的数据,以及随机打乱具有一定的排列规律的数据顺序;

步骤3、从整体数据集中筛选出完整样本作为第一轮的训练集,将缺失1列的样本数据作为测试集,将决策树模型的预测结果作为缺失数据的值进行填充,并将该填充后的样本数据追加到完整数据集,直到缺失1列的样本数据填充完毕;将填充后缺失1列的样本数据与之前的完整样本作为第二轮的训练集,将缺失2列的样本数据集作为测试集,将该两个缺失属性分别决策树建模预测,并将填充后的样本数据追加到完整数据集,直到缺失2列的样本数据填充完毕;依次类推,对于缺失3、4、……、n列的样本数据进行填充,直到填充数据的精确度低于设置的值终止。

步骤4、保存填充后的数据,删除未填充的数据。

上述的基于决策树的缺失数据填充方法,其中,步骤1中的分类树和回归树采用CART分类树和CART回归树。

上述的基于决策树的缺失数据填充方法,其中,步骤2中的对连续型的数据进行归一化处理采用Z-Score标准化。

上述的基于决策树的缺失数据填充方法,其中,步骤3中的n的值为当填充数据的精确度低于一设置的值时确定。

上述的基于决策树的缺失数据填充方法,其中,步骤4中的未填充的数据为缺失大于n列的样本数据。

本发明还提供了一种基于决策树的缺失数据填充系统,其中,包括:

模块1、判断分析样本缺失的属性值为离散型或者为连续型,并对离散型的样本缺失和连续型的样本缺失分别采用分类树和回归树进行预测填充;

模块2、对连续型的数据进行归一化处理,并将文本类型的数据转换成数值型类型的数据,以及随机打乱具有一定的排列规律的数据顺序;

模块3、从整体数据集中筛选出完整样本作为第一轮的训练集,将缺失1列的样本数据作为测试集,将决策树模型的预测结果作为缺失数据的值进行填充,并将该填充后的样本数据追加到完整数据集,直到缺失1列的样本数据填充完毕;将填充后缺失1列的样本数据与之前的完整样本作为第二轮的训练集,将缺失2列的样本数据集作为测试集,将该两个缺失属性分别决策树建模预测,并将填充后的样本数据追加到完整数据集,直到缺失2列的样本数据填充完毕;依次类推,对于缺失3、4、……、n列的样本数据进行填充,直到填充数据的精确度低于设置的值终止。

模块4、保存填充后的数据,删除未填充的数据。

上述的基于决策树的缺失数据填充系统,其中,模块1中的分类树和回归树采用CART分类树和CART回归树。

上述的基于决策树的缺失数据填充系统,其中,模块2中的对连续型的数据进行归一化处理采用Z-Score标准化。

上述的基于决策树的缺失数据填充系统,其中,模块3中的n的值为当填充数据的精确度低于一设置的值时确定。

上述的基于决策树的缺失数据填充系统,其中,所述模块4中的所述未填充的数据为缺失大于n列的样本数据。

本发明提出的一种基于决策树的缺失数据填充方法及系统,其通过决策树建模多次迭代大大提高了缺失数据的填充精度,而且程序设计简单、计算资源消耗适中。对比传统的使用均值、众数这种简单的数据填充,使用决策树算法预测填充效果要明显好的多;而神经网络填充则需要更多的样本数据,对于小样本数据集基本不可用,而且相对于决策树来说消耗资源多。

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1为基于决策树的缺失数据填充流程图。

具体实施方式

下面结合附图对本发明的结构原理和工作原理作具体的描述:

请参照图1,本发明的步骤包含周期性执行:A、数据分析;B、数据预处理;C、按列对缺失数据进行填充;以及,D、删除剩余的缺失数据。具体的一种实施方式如下:

A.根据不同列属性采用不同的决策树:

A1.根据样本缺失属性值是离散还是连续型采用不同的决策树:若缺失的属性值是离散型则采用CART分类树预测填充,若缺失值是离散型则采用CART回归树预测填充;

B.对离散型和连续性数据分别进行数据预处理,其实现方法为:

B1.读取原始数据到内存;

B2.若数据列属性是文本类型,则需要转换成数值类型;

B3.根据箱线图、各分位点判断是否存在异常值,删除异常值;

B4.对连续型数据进行归一化处理;

B5.若数据的排列有一定规律,则需要随机打乱数据顺序;

C.根据完整数据建模,对缺失数据预测填充,其实现方法为:

C1.填充缺失一列的数据:

C1-1.从整体数据集中筛选出完整样本作为第一轮的训练集;

C1-2.遍历所有的列属性,筛选出缺失该列的样本数据作为测试集,将决策树模型的预测结果作为缺失数据的值进行填充;

C1-3.将填充后的样本数据追加到完整数据集,直到缺失1列的数据填充完毕;

C2.填充缺失2列的数据:

C2-1.从C1中筛选出完整样本作为本轮的训练集;

C1-2.通过两两组合方式筛选出缺失2列的样本数据作为测试集,分别根据这两列的数据选择决策树建模,将决策树模型的预测结果作为缺失数据的值进行填充;

C1-3.将填充后的样本数据追加到完整数据集,直到缺失2列的数据填充完毕;

C3.填充剩余缺失的数据,实现方法为:

C3-1.依次类推,填充缺失3列、4列等缺失的数据;

C3-2.直到模型预测的数据的准确度低于设置的值停止;

D.删除剩余缺失数据,其实现方法为:

D1.将其他未填充的数据删除,这些被删除的数据都是缺失太过严重无法准确填充的数据;

D2.保存填充后的数据。

本发明通过使用CART决策树根据缺失列的属性采用分类树或者回归树进行预测填充,其中先对缺失一列的数据预测填充,然后对缺失两列的数据进行填充,依次类推,直到填充数据的准确度低于设置的值时停止。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

相关技术
  • 一种基于决策树的缺失数据填充方法及系统
  • 一种基于组合模型的多传感器节点缺失数据填充方法
技术分类

06120113212701