数据空值处理方法、装置及终端设备与流程

文档序号:17696058发布日期:2019-05-17 21:31阅读:297来源:国知局
数据空值处理方法、装置及终端设备与流程

本发明属于数据处理技术领域,尤其涉及一种数据空值处理方法、装置及终端设备。



背景技术:

在现实中,由于操作问题、仪器问题、系统问题等原因,在数据中普遍存在空缺数据情况。

目前,国内外已提出很多有关缺失值填充的方法。尽管这些方法在各自的应用环境下得到了很好的效果,但仍然存在一些不足,传统的空值处理方法不能有效利用空值中所蕴含的信息,引用一些无用的数据,导致空值处理效率低下的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种数据空值处理方法、装置及终端设备,以解决现有技术中空值填充时引用一些无用的数据而导致的效率低下的问题。

本发明实施例的第一方面提供了一种数据空值处理方法,包括:

检测预处理数据中是否存在空值;

若所述预处理数据中存在空值,则根据第一空值的属性类型,将所述预处理数据中样本数据的平均值作为初始填充值;

根据所述初始填充值及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。

本发明实施例的第二方面提供了一种数据空值处理装置,包括:

空值检测模块,用于检测预处理数据中是否存在空值;

初始填充值计算模块,用于若所述预处理数据中存在空值,则根据第一空值的属性类型,将所述预处理数据中样本数据的平均值作为初始填充值;

最终填充值计算模块,用于根据所述初始填充值及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。

本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据空值处理方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述数据空值处理方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例提供的数据空值处理方法首先检测预处理数据中是否存在空值;若所述预处理数据中存在空值,则根据第一空值的属性类型,将所述预处理数据中样本数据的平均值作为初始填充值;根据所述初始填充值及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。本发明实施例有效利用空值所蕴含的信息,根据空值的属性类型,排除一些无用的数据,提高空值填充的效率,并对预处理数据进行求平均处理,以比较精确的初始填充值进行极大似然估计,从而得到更加准确地空值填充值,提高空值填充的准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的数据空值处理方法的流程示意图;

图2是本发明实施例提供的图1中s102的具体实现流程示意图;

图3是本发明实施例提供的图1中s102的具体实现流程示意图;

图4是本发明实施例提供的数据空值处理装置的结构示意图;

图5是本发明实施例提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本发明的说明书和权利要求书及上述附图中的术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含一系列步骤或单元的过程、方法或系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例1:

图1示出了本发明的一个实施例提供的一种数据空值处理方法的实现流程,其过程详述如下:

s101:检测预处理数据中是否存在空值。

在本实施例中,预处理数据为从数据源中抽取的数据,由于抽取的预处理数据可能存在不完整的数据,其特征是一些应该有的信息缺失,需要对这些缺失的数据填充后才能加载入数据库。

s102:若所述预处理数据中存在空值,则根据第一空值的属性类型,将所述预处理数据中样本数据的平均值作为初始填充值。

在本实施例中,首先对预处理数据进行空值检测,若预处理数据中存在空值,则需要对空值进行填充,其中,第一空值为预处理数据中的任一空值。

在本实施例中,属性类型可以包括数值型和非数值型。可以根据第一空值的属性类型,选取预处理数据中不同的样本数据的平均值,并将计算的平均值作为初始填充值。

s103:根据所述初始填充值及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。

在本实施例中,将上一步骤获取的初始平均值作为初始的参数带入极大化似然函数,经过极大化似然函数的迭代计算,估计出最终填充值,从而根据最终填充值填充第一空值。

从上述实施例可知,本发明实施例提供的数据空值处理方法首先检测预处理数据中是否存在空值;若所述预处理数据中存在空值,则根据第一空值的属性类型,将所述预处理数据中样本数据的平均值作为初始填充值;根据所述初始填充值及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。本发明实施例有效利用空值所蕴含的信息,根据空值的属性类型,排除一些无用的数据,提高空值填充的效率,并对预处理数据进行求平均处理,以比较精确的初始填充值进行极大似然估计,从而得到更加准确地空值填充值,提高空值填充的准确性。

在本发明的一个实施例中,在图1中s101之前,本实施例还包括:

从数据源中采集原始数据,并对所述原始数据进行预处理,得到预处理数据。

在本实施例中,从数据源中采集原始数据后,需对所述原始数据进行数据转换及数据清洗处理,得到预处理数据。得到预处理数据的过程具体包括抽取、转换、清洗三个环节,其获取过程详述如下:

1)抽取:数据抽取是从不同的网络、不同的操作系统、不同的数据库以及数据格式、不同的应用中抽取数据的过程。此处的数据不仅是指关系数据库中的数据,还涉及到半结构化的数据和非结构化的数据。

对于半结构化数据,可以采用混合表示法对数据及数据模式进行建模,它包括一个概念层次图和一套知识框架,使用基于内容以及结构框架的方法对数据进行抽取。

对于非结构化的数据,可以采用模糊匹配方法识别表格中的直线行上的字段;针对于手写汉字文件的数据,采用基于引力的算法以有效识别并抽取表格中的汉字。

2)转换:由于抽取的数据存在格式不一致的情况,因此,需要对数据的名称和格式进行统一,通过数据粒度转换、商务规则计算和统一命名、数据格式和计量单位,并且,数据仓库中存在数据库中可能不存在的数据,因此,需要进行字段组合、分割和计算,从而完成数据的转换处理。

3)转换:在对原始数据完成数据转换得到第一处理数据后,需要对第一处理数据进行数据清洗,由于从操作系统中获取的第一处理数据可能存在许多问题,容易造成脏数据,因此,需要对第一处理数据进行清洗。

数据清洗的过程如下:

首先将第一处理数据缓存在缓存数据库中,然后根据预置的清洗规则对第一处理数据进行清洗,当第一处理数据清洗完成时,对清洗后的数据进行评价检测,当检测出清洗后的数据存在错误或产生丢失数据时,从缓存数据库中重新获取第一处理数据,并重新进行清洗,若多次检测清洗后的数据存在错误,用户可以对清洗规则进行修改和设置,从而提高数据清洗力度。

空值检测为数据清洗中的一个环节,通过空值检测完善数据中缺失的数据。

在完成数据清洗后,将清洗完成的第一处理数据按照物理数据模型定义的表机构装入目标数据库中,并允许人工干预,以及提供强大的错误报告。系统日志、数据备份与恢复功能。

如图2所示,在本发明的一个实施例中,所述空值的属性类型包括数值型和非数值型,图2示出了图1中s102的具体实现流程,其过程详述如下:

s201:若所述第一空值的属性类型为数值型,则计算所述第一数据中各个数值的平均值,得到第一初始填充值,所述第一数据为所述预处理数据中与所述第一空值的属性类型相同的数据。

s202:若所述第一空值的属性类型为非数值型,则统计所述第一数据中出现频率最高的数据作为第二初始填充值。

如图3所示,在本发明的一个实施例中,所述空值的属性类型包括数值型和非数值型,图3示出了图1中s102的具体实现流程,其过程详述如下:

s301:若所述第一空值的属性类型为数值型,则计算第二数据中各个数值的平均值,得到第三初始填充值,所述第二数据为所述预处理数据中与所述第一空值的决策属性值相同的数据;

s302:若所述第一空值的属性类型为非数值型,则将所述第二数据中出现频率最高的值作为第四初始填充值。

在本实施例中,由于整个数据表中通常包括多个数值型数据,且数值型数据由于决策属性不同,数值相差较大,单纯的通过数据表中同属性类型的数据平均值来填充第一空值,准确性较差。为了提高空值填充的准确性,可以根据第一空值的决策属性,取数据表中决策属性相同的数据的平均值,作为第三初始填充值,从而根据精确的第三初始填充值,得到更加准确地最终填充值来填充空值。

在本实施例中,同样的,可以选取与第一空值决策属性值相同的数据中出现频率最高的值作为第四初始填充值。

在本发明的一个实施例中,第一空值的属性类型包括数值型,图1中s102的具体实现流程还可以包括:

计算第三数据中各个数值的平均值,得到第五初始填充值,所述第三数据为所述预处理数据中与所述第一空值的决策属性值相同,且去除最大值和最小值之后的数据。

在本发明的一个实施例中,填补空值的方法还可以包括:

将数据表中与第一空值的决策属性值相同的数据按照数值的大小排序,得到数据序列,当数据表中与第一空值的决策属性值相同的数据的个数为基数时,则可计算第六初始填充值,第六初始填充值的计算方法为:a=x(n+1)/2,其中,a为第五平均值,x表示数据序列中的数据,n表示数据序列中的数据总个数,将数据序列中位置居中的数据作为第六初始填充值。

当数据表中与第一空值的决策属性值相同的数据的个数为偶数时,则计算第七初始填充值,第七初始填充值的计算方法为:其中,b表示第七初始填充值。

从上述实施例可知,通过对数据表中的数据进行排序,并计算中间值的方法,能够简单方便快速的得到平均值来填补第一空值,且空值填充考虑决策属性相同的数据的数值的大小,准确性更高。

在本发明的一个事实例中,通过上述方法得到的初始填充值更为精确,从而根据精确的初始值提高迭代计算的准确性。

在本发明的一个实施例中,图1中s103的具体实现流程具体包括:

根据初始填充值、预设迭代次数及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。

在本实施例中,通过极大似然函数计算最终填充值的过程具体包括:

1)将初始填充值作为初始参数带入极大化似然函数,计算其最大似然估计值。其中极大似然函数可以根据预处理数据中完整数据的样本数据得到。

2)根据极大似然函数和初始填充值,经过预设迭代次数的迭代计算,得到最终填充值,从而使最终得到的填充值更为准确。

如此,通过设置合适的预设迭代次数,可以使最终填充值更加准确,且可简化计算过程,使计算效率更高。预设迭代次数可以为10次。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例2:

如图4所示,本发明的一个实施例提供的数据空值处理装置100,用于执行图1所对应的实施例中的方法步骤,其包括:

空值检测模块,用于检测预处理数据中是否存在空值;

初始填充值计算模块,用于若所述预处理数据中存在空值,则根据第一空值的属性类型,将所述预处理数据中样本数据的平均值作为初始填充值;

最终填充值计算模块,用于根据所述初始填充值及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。

从上述实施例可知,本发明实施例提供的数据空值处理方法首先检测预处理数据中是否存在空值;若所述预处理数据中存在空值,则根据第一空值的属性类型,将所述预处理数据中样本数据的平均值作为初始填充值;根据所述初始填充值及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。本发明实施例有效利用空值所蕴含的信息,根据空值的属性类型,排除一些无用的数据,提高空值填充的效率,并对预处理数据进行求平均处理,以比较精确的初始填充值进行极大似然估计,从而得到更加准确地空值填充值,提高空值填充的准确性。

在本发明的一个实施例中,数据空值处理装置100还包括:

预处理数据获取模块,用于从数据源中采集原始数据,并对所述原始数据进行预处理,得到预处理数据。

在本发明的一个实施例中,第一空值的属性类型包括数值型和非数值型,所述初始填充值包括第一初始填充值和第二初始填充值,图4中的初始填充值计算模块120包括:

第一初始填充值计算单元,用于若所述第一空值的属性类型为数值型,则计算所述第一数据中各个数值的平均值,得到第一初始填充值,所述第一数据为所述预处理数据中与所述第一空值的属性类型相同的数据;

第二初始填充值计算单元,用于若所述第一空值的属性类型为非数值型,则统计所述第一数据中出现频率最高的数据作为第二初始填充值。

在本实施例中,空值的属性类型包括数值型和非数值型,所述初始填充值包括第三初始填充值和第四初始填充值,图4中的初始填充值计算模块120还可以包括:

第三初始填充值计算单元,用于若所述第一空值的属性类型为数值型,则计算第二数据中各个数值的平均值,得到第三初始填充值,所述第二数据为所述预处理数据中与所述第一空值的决策属性值相同的数据;

第四初始填充值计算单元,用于若所述第一空值的属性类型为非数值型,则将所述第二数据中出现频率最高的值作为第四初始填充值。

在本实施例中,空值的属性类型包括数值型,图4中的初始填充值计算模块120还可以包括:

计算第三数据中各个数值的平均值,得到第五初始填充值,所述第三数据为所述预处理数据中与所述第一空值的决策属性值相同,且去除最大值和最小值之后的数据。

在本发明的一个实施例中,图4中的最终填充值计算模块具体包括:

根据初始填充值、预设迭代次数及极大化似然函数,计算最终填充值,并利用最终填充值填充所述第一空值。

在一个实施例中,数据空值处理装置100还包括其他功能模块/单元,用于实现实施例1中各实施例中的方法步骤。

实施例3:

本发明实施例还提供了一种终端设备5,包括存储器51、处理器50以及存储在存储器51中并可在处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现如实施例1中所述的各实施例中的步骤,例如图1所示的步骤s101至步骤s103。或者,所述处理器50执行所述计算机程序52时实现如实施例2中所述的各装置实施例中的各模块的功能,例如图4所示的模块110至130的功能。

所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备5可包括,但不仅限于,处理器50、存储器51。例如所述终端设备5还可以包括输入输出设备、网络接入设备、总线等。

所称处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器50等。

所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序52以及所述终端设备5所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

实施例4:

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序52,计算机程序52被处理器50执行时实现如实施例1中所述的各实施例中的步骤,例如图1所示的步骤s101至步骤s103。或者,所述计算机程序52被处理器50执行时实现如实施例2中所述的各装置实施例中的各模块的功能,例如图4所示的模块110至130的功能。

所述的计算机程序52可存储于一计算机可读存储介质中,该计算机程序52在被处理器50执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序52包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例系统中的模块或单元可以根据实际需要进行合并、划分和删减。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1