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

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

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



背景技术:

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

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



技术实现要素:

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

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

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

对所述预处理数据进行空值检测;

若所述预处理数据中存在空值,则根据第一空值的属性类型及所述预处理数据中数值的平均值填充所述第一空值,所述第一空值为所述预处理数据中任一空值。

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

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

空值检测模块,用于对所述预处理数据进行空值检测;

空值填充模块,用于若所述预处理数据中存在空值,则根据第一空值的属性类型及所述预处理数据中数值的平均值填充所述第一空值,所述第一空值为所述预处理数据中任一空值。

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

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

本发明实施例与现有技术相比存在的有益效果是:本发明实施例提供的数据空值处理方法首先从数据源中采集原始数据,并对所述原始数据进行预处理,得到预处理数据;对所述预处理数据进行空值检测;若所述预处理数据中存在空值,则根据第一空值的属性类型及所述预处理数据中数值的平均值填充所述第一空值,所述第一空值为所述预处理数据中任一空值。本发明实施例有效利用空值所蕴含的信息,根据空值的属性类型对预处理数据进行求平均处理,利用计算得到的平均值来填充空值,从而排除一些无用的数据,提高空值处理效率。

附图说明

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

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

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

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

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

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

具体实施方式

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

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

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

实施例1:

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

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

在本实施例中,可以从数据源中抽取原始数据,并对原始数据进行预处理后加载至目标数据表中。其中数据源可以为不同的网络、操作系统、数据库及应用,从不同数据源中采集的原始数据可能具有不同的数据格式,因此需要对原始数据进行预处理,调整为统一格式的数据再进一步使用。

s102:对所述预处理数据进行空值检测。

s103:若所述预处理数据中存在空值,则根据第一空值的属性类型及所述预处理数据中数值的平均值填充所述第一空值,所述第一空值为所述预处理数据中任一空值。

在本实施例中,若预处理数据中存在空值,则定义预处理数据中的任一空值为第一空值,为了便于对第一空值进行准确有效的填充,需要获取第一空值的属性类型,属性类型可以为数值型和非数值型,根据第一空值的属性类型及预处理数据中数值的平均值,来填充第一空值。

从上述实施例可知,本发明实施例提供的数据空值处理方法首先从数据源中采集原始数据,并对所述原始数据进行预处理,得到预处理数据;对所述预处理数据进行空值检测;若所述预处理数据中存在空值,则根据第一空值的属性类型及所述预处理数据中数值的平均值填充所述第一空值,所述第一空值为所述预处理数据中任一空值。本发明实施例有效利用空值所蕴含的信息,根据空值的属性类型对预处理数据进行求平均处理,从而利用计算得到的平均值来填充空值,从而排除一些无用的数据,提高空值处理效率。

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

从所述数据源中抽取所述原始数据,并对所述原始数据进行数据转换及数据清洗处理,得到预处理数据。

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

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

数据清洗的过程如下:

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

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

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

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

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

s202:若所述第一空值的属性类型为非数值型,则统计所述第一数据中出现频率最高的数据作为第二平均值,并使用所述第二平均值填补所述第一空值。

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

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

在本实施例中,决策属性为确定样本分类结果的属性,例如,在学生成绩表中,根据学生的成绩可将样本分为成绩优的学生数据,成绩合格的学生数据和成绩不合格的学生数据,则决策属性即为优、合格和差,若第一空值所属的样本的决策属性为优,则只选取优对应的样本数据作为第一数据。

s302:若所述第一空值的属性类型为非数值型,则将所述第二数据中出现频率最高的值作为第四平均值,并使用所述第四平均值填补所述第一空值。

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

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

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

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

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

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

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

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

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

实施例2:

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

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

空值检测模块120,用于对所述预处理数据进行空值检测;

空值填充模块130,用于若所述预处理数据中存在空值,则根据第一空值的属性类型及所述预处理数据中数值的平均值填充所述第一空值,所述第一空值为所述预处理数据中任一空值。

从上述实施例可知,本发明实施例提供的数据空值处理方法首先从数据源中采集原始数据,并对所述原始数据进行预处理,得到预处理数据;对所述预处理数据进行空值检测;若所述预处理数据中存在空值,则根据第一空值的属性类型及所述预处理数据中数值的平均值填充所述第一空值,所述第一空值为所述预处理数据中任一空值。本发明实施例有效利用空值所蕴含的信息,根据空值的属性类型对预处理数据进行求平均处理,利用计算得到的平均值来填充空值,从而排除一些无用的数据,提高空值处理效率。

在本发明的一个实施例中,图4所对应的实施例中的预处理数据获取模块110还包括:从所述数据源中抽取所述原始数据,并对所述原始数据进行数据转换及数据清洗处理,得到预处理数据。

在本发明的一个实施例中,第一空值的属性类型包括数值型和非数值型,图4中的空值填充模块130包括:

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

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

在本实施例中,空值的属性类型包括数值型和非数值型,图4中的空值填充模块130还可以包括:

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

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

在本实施例中,空值的属性类型包括数值型,图4中的空值填充模块130还可以包括:计算第三数据中各个数值的平均值,得到第五平均值,并使用所述第五平均值填补所述第一空值,所述第三数据为所述预处理数据中与所述第一空值的决策属性值相同,且去除最大值和最小值之后的数据。

在一个实施例中,数据空值处理装置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