一种数据清洗方法、装置及计算机可读存储介质与流程

专利2022-06-30  86


本发明涉及数据清洗技术领域,尤其涉及一种数据清洗方法、装置及计算机可读存储介质。



背景技术:

数据清洗作为数据预处理环节的重要步骤,在数据仓库、数据质量管理和数据挖掘等领域有广泛应用。通过执行数据清洗,能够有效修复数据中的错误,提高数据质量。

在数据质量管理技术中,时效性、完整性、一致性是评价数据质量的三个重要因素。目前,现有技术通常只针对其中单一的某个因素进行数据清洗,且已有的数据清洗方法往往不考虑数据质量问题的时效性因素,易导致数据清洗方法的可靠性和准确性降低,造成更多的误判和漏判。而结构化数据中,时间标记经常发生时间戳缺失或不可用的情况,导致时效性因素难以被建模利用。同时,由于数据内容的丰富性和复杂性,导致结构化数据中错误类型多,低质量数据产生的缘由复杂,且通常存在多种类型的错误问题,而目前已有的数据清洗方法,通常只能提供一些简单的数据清洗功能,不能检测识别到数据中的复杂质量问题。由于已有的数据清洗方法往往只能在一定限制条件下,针对某种错误进行检测和修复,缺少针对多种数据质量性质的综合性数据清洗策略,数据清洗质量不佳。



技术实现要素:

本发明的目的是针对上述至少一部分不足之处,提供一种基于时效性、完整性、一致性的综合的数据清洗方法,以解决现有技术中难以识别、修复结构化数据中复杂质量问题的缺陷。

为了实现上述目的,本发明提供了一种数据清洗方法,包括如下步骤:

s1、数据预处理:获取待清洗的结构化数据和时效约束,根据时效约束对结构化数据中所有元组建立时序图,并经传递规约后,消除所述时序图上的冲突,得到时效子图;

s2、时效性判定:基于所述时序子图计算每条元组的时效值,根据时效值量化各元组之间的时效顺序;

s3、一致性修复:输入cfd规则作为一致性规则,并从待清洗的结构化数据中提取一致性规则模式,得到一致性规则约束集合;基于各元组的时效值及元组之间的时效顺序,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离,选择满足一致性规则约束,且与该错误元组时效值最为接近的修复模式对错误元组进行一致性修复;

s4、完整性修复:对经过一致性修复后的各个元组,利用贝叶斯填充方法,将元组的时效值作为该元组的新增属性参与贝叶斯的训练过程,实现对缺失值的填充;

s5、数据集输出:输出经过完整性修复后的各个元组,得到清洗后的数据集。

优选地,所述数据预处理步骤中,根据时效约束对结构化数据中所有元组建立时序图时,对于结构化数据中的每一个实体,先基于时效约束确定其对应的各条元组作为节点的时效值相对大小,再由任意两节点中时效值较小的节点向时效值较大的节点建立有向边。

优选地,所述数据预处理步骤中,所述时效子图定义为:

对于时效图g=(v,e),其子图gc=(v,etr)是时效图g经传递规约后得到的时效子图,当且仅当:

gc与g拥有相同的传递闭包;

g′c的传递闭包与g的不同;

其中,v表示时效图g的点集,e表示时效图g的边集,etr表示时效图g的边集e经传递规约后得到的边集。

优选地,所述时效性判定步骤中,基于所述时序子图计算每条元组的时效值时,包括如下步骤:

s2-1、将起始节点s、终止节点t加入到所述时序子图,并将起始节点s与所述时序子图中所有入度为0的节点相连,将所述时序子图中所有出度为0的节点与终止节点t相连,定义起始节点s的时效值为0,终止节点t的时效值为1;

s2-2、选择一条尚未确定时效值的最长时效链,为其中的所有节点均匀分配时效值,使得相邻节点之间的时效值差值相等;

s2-3、重复上述步骤s2-2,直到所述时序子图中的所有节点均被确定时效值为止。

优选地,所述一致性修复步骤中,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离时,一条元组的时效性-一致性联合修复距离通过如下表达式计算:

其中,r表示一条元组,表示一条cfd规则,μ、ν是在(0,1)区间内的权重系数,满足μ ν=1;代表一致性距离,代表时效性距离;

一致性距离的表达式为:

其中,distb代表一个0或1的数值,当时,的值为1,否则为0,ai表示属性集合中的一个属性,分别为的左部、右部涉及到的属性数量;

时效性距离的表达式为:

其中,curr(r)、分别代表r、的时效值。

优选地,所述完整性修复步骤进一步包括:

s4-1、输入进行一致性修复后的各个元组,以及每个属性集合中的属性的置信阈值,将元组的时效值作为一个新增属性添加至相应的元组当中;

s4-2、检测带有缺失值的元组,将带有缺失值的元组作为测试数据,其余完整的所有元组作为训练集;

s4-3、预处理并离散化属性集合中的连续型变量,包括将时效值处理为虚拟的分类变量区间;

s4-4、在测试数据中,计算一个属性的缺失值相关的一组朴素贝叶斯条件概率;

s4-5、求得一组朴素贝叶斯条件概率中的最大值,若其大于该属性的置信阈值,则将其对应的填充值填入该属性的缺失值;

s4-6、返回步骤s4-4,重复执行步骤s4-4和步骤s4-5,直到所有元组中的缺失值均被填充。

优选地,所述步骤s4-3中将时效值处理为虚拟的分类变量区间时,以连续变量a表示属性集合中的一个连续型变量,以虚拟变量b表示一个离散型变量,将连续变量a和虚拟变量b创建列联表,对连续变量a和虚拟变量b进行卡方检验,根据最大卡方统计量将连续变量a划分为由虚拟变量b表示的区间。

本发明还提供了一种数据清洗装置,包括:

数据预处理模块,用于获取待清洗的结构化数据和时效约束,根据时效约束对结构化数据中所有元组建立时序图,并经传递规约后,消除所述时序图上的冲突,得到时效子图;

时效性判定模块,用于基于所述时序子图计算每条元组的时效值,根据时效值量化各元组之间的时效顺序;

一致性修复模块,用于输入cfd规则作为一致性规则,并从待清洗的结构化数据中提取一致性规则模式,得到一致性规则约束集合;基于各元组的时效值及元组之间的时效顺序,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离,选择满足一致性规则约束,且与该错误元组时效值最为接近的修复模式对错误元组进行一致性修复;

完整性修复模块,用于对经过一致性修复后的各个元组,利用贝叶斯填充方法,将元组的时效值作为该元组的新增属性参与贝叶斯的训练过程,实现对缺失值的填充;

数据集输出模块,用于输出经过完整性修复后的各个元组,得到清洗后的数据集。

优选地,所述数据预处理模块还用于在根据时效约束对结构化数据中所有元组建立时序图时,对于结构化数据中的每一个实体,先基于时效约束确定其对应的各条元组作为节点的时效值相对大小,再由任意两节点中时效值较小的节点向时效值较大的节点建立有向边。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本发明的上述技术方案具有如下优点:本发明提供了一种数据清洗方法、装置及计算机可读存储介质,本发明基于时效性、完整性、一致性三个重要因素对结构化数据进行综合性清洗,能够解决数据中同时存在时间戳不可用、不完整属性值、不一致属性值这三种数据质量问题,实现对这三种数据质量问题的有效识别和修复,同时提高数据的时效性、完整性和一致性,从而获得高质量的数据集,为后续执行建立数据库或挖掘数据特征等具体应用打下良好的基础。

附图说明

图1是本发明实施例中的一种数据清洗方法步骤示意图;

图2是本发明实施例中的一种数据清洗方法流程示意图;

图3是本发明实施例中的一种数据清洗装置结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1和图2所示,本发明实施例提供的一种数据清洗方法,该方法包括如下步骤:

s1、数据预处理:获取待清洗的结构化数据和时效约束,根据时效约束对结构化数据中所有元组建立时序图,并经传递规约后,消除所述时序图上的冲突,得到时效子图。

其中,待清洗的结构化数据可采用例如员工信息表、学生信息表、库存信息表、银行数据库等数据。该方法能够应用于包括企业人才信息库系统、人力资源管理系统(humanresourcemanagement(hrm))、用户关系管理系统(customerrelationshipmanage-ment(crm))等具体领域。通过对信息表等结构化数据进行综合性数据清洗,可有效提高数据库质量,提高后续其他信息处理的计算速度。

优选地,本发明提供的数据清洗方法在数据预处理步骤s1中,根据时效约束对结构化数据中所有元组建立时序图时,对于结构化数据中的每一个实体,先基于时效约束确定其对应的各条元组作为节点的时效值相对大小,再由任意两节点中时效值较小的节点向时效值较大的节点建立有向边,构成时序图。

进一步地,所述时序图的定义为:

对于待清洗的结构化数据库,r为数据库上的关系型模式,由一组属性定义(attr(r)),attr(r)表示关系型数据库模式r包含的属性集合。e为r上的一个实体(例如一个用户,银行数据库中有该用户的多条元组记录),令r(e)={r1,…,rn}代表实体e在结构化数据中的n个元组的集合,有向无环图g=(v,e)是实体e的时效图,当它满足:

i)ri∈r(e),vi=ri;

ii)当且仅当rm<rk,rm<rk可由时效约束推得;

其中,v表示时效图的点集,vi表示节点,e表示时效图的边集,e(m,k)表示有向边;即,边e(m,k)存在的条件是:元组rm的时效值小于元组rk。

进一步地,经传递规约后,消除所述时序图上的冲突,得到时效子图时,所述时效子图定义为:

对于时效图g=(v,e),其子图gc=(v,etr)是时效图g经传递规约后得到的时效子图,当且仅当:

i)gc与g拥有相同的传递闭包;

ii)g′c的传递闭包与g的不同;

其中,v表示时效图g的点集,e表示时效图g的边集,etr表示时效图g的边集e经传递规约后得到的边集。

s2、时效性判定:基于所述时序子图计算每条元组的时效值,根据时效值量化各元组之间的时效顺序。这一时效顺序将作为后续的计算依据。

优选地,时效性判定步骤s2中,基于所述时序子图计算每条元组的时效值时,包括如下步骤:

s2-1、将起始节点s、终止节点t加入到所述时序子图,并将起始节点s与所述时序子图中所有入度为0的节点相连,将所述时序子图中所有出度为0的节点与终止节点t相连,定义起始节点s的时效值为0,终止节点t的时效值为1。

s2-2、选择一条尚未确定时效值,即尚未确定时间戳的最长时效链,为其中的所有节点均匀分配时效值,使得相邻节点之间的时效值差值相等。

s2-3、重复上述步骤s2-2,直到所述时序子图中的所有节点均被确定时效值为止。

具体地,计算每条元组的时效值时,可通过如下方法1(时效值计算方法currvalue):

其中,v∈v表示时序子图中的节点,e(i,j)∈e表示时序子图中的边。上述方法1展示了计算各元组时效值的整体流程。首先将起始节点s、终止节点t加入到图中,确保所有其余节点的时效值均于(0,1)区间内。通过更新时序子图上节点的时效关系,发现新的有效边(第5-9行)。拷贝一份图gc的副本,求得它的反图通过方法2(有效边更新方法)求得每个节点时效值的上界和下界。在第10行通过方法3(最长时效链发现方法)找到了当前最长时效链后,通过上下界对链上的每一个节点进行时效值的确定(第12-14行)。重复以上步骤直到所有节点的时效值计算完成。

进一步地,方法1中调用的方法2和方法3可通过如下方式表示:

上述方法2通过一个拓扑排序,对图上每一个节点的上确界或下确界进行更新。

上述方法3通过一个拓扑排序,找到一条最长的时效链。第4-7行更新最深深度记录,第8-10行更新每个与当前节点相连的节点深度记录。最终第12行通过记录的pre指针追溯得到整个时效链,将这条链作为结果返回。

在完成了时效值的计算后,本发明提供的数据清洗方法通过得到的时效值对数据进行一致性和完整性修复,实现数据清洗。特别地,在执行一致性和完整性数据清洗时,本发明先执行一致性与时效性的联合修复,再执行完整性和时效性的联合修复策略。这样可以有效节省计算时间,并且该修复顺序可以有效降低因修复而产生的新的数据错误。

s3、一致性修复:输入cfd(条件函数依赖)规则作为一致性规则,并从待清洗的结构化数据中提取一致性规则模式,得到一致性规则约束集合;基于各元组的时效值及元组之间的时效顺序,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离,选择满足一致性规则约束,且与该错误元组时效值最为接近的修复模式对错误元组进行一致性修复,得到经过一致性修复后的各个元组。本发明采用条件函数依赖规则作为一致性规则,检验关系型数据库中不一致的错误数据。

本发明提出了一个联合一致性与时效性进行数据修复的指标:时效性-一致性联合修复距离,来计算错误数据元组和高质量数据元组之间的编辑距离。

进一步地,一致性修复步骤s3中,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离时,一条元组的时效性-一致性联合修复距离通过如下表达式计算:

其中,r表示一条元组,表示一条cfd规则,μ、ν是在(0,1)区间内的权重系数,满足μ ν=1;代表一致性距离,代表时效性距离;

一致性距离的表达式为:

其中,b代表一个0或1的数值,当时,的值为1,否则为0,ai表示属性集合中的一个属性,ai∈-hs的含义是任取左部lhs或者右部rhs中的一个属性,分别为的左部、右部涉及到的属性数量。一致性距离的表达式是将一条元组r的属性值与的所有左部和右部的属性值做比较,如果两者相对应的属性取值相同,则distb记为0,如果取值不同,则记为1,然后把所有属性的distb加和,除以的所有左部和右部的属性总数,作为一致性距离的结果。

时效性距离的表达式为:

其中,curr(r)、分别代表r、的时效值。

具体地,所述一致性修复步骤执行一致性与时效性的联合修复时,可通过如下方法4实现:

上述方法4在检测一致性违反发生后(第2行),找到错误记录ri附近的一段记录(第5行),通过检测它们使用的一致性模式,更新每一种可能的修复模式与当前待修复记录的最短时效距离(第6-8行)。然后对于每一种可能的修复方式,通过计算时效性-一致性联合修复距离(第11行)确定这种修复方案花费的“代价”,记录“代价”最低的方案(第12-13行)后使用这一方案进行修复(第14行)。最终返回所有数据的修复结果,得到完成一致性与时效性的联合修复的各个元组。

s4、完整性修复:对经过一致性修复后的各个元组,利用贝叶斯填充方法,即基于朴素贝叶斯的填充方法,将元组的时效值作为该元组的新增属性参与贝叶斯的训练过程,实现对缺失值的填充,得到经过完整性修复后的各个元组。

在完整性修复部分,主要针对元组中属性上的缺失值进行填充修复。本发明将计算得到的元组时效值作为每个元组的一个新的特征,参与贝叶斯的训练过程,可得到一个时效更近、更为准确的缺失值填充方案,实现完整性与时效性的联合修复。贝叶斯填充方法为现有技术,在此不再赘述。

优选地,所述完整性修复步骤s4进一步包括:

s4-1、输入进行一致性修复后的各个元组,即输入修复后的数据集dcons,以及每个属性集合attr(r)中的属性的置信阈值σ(a),将元组的时效值curr(r)作为一个新增属性添加至相应的元组当中。

s4-2、检测带有缺失值的元组将带有缺失值的元组作为测试数据,dcons中其余完整的所有元组作为训练集。

s4-3、预处理并离散化属性集合attr(r)中的连续型变量,包括将时效值处理为虚拟的分类变量区间。

进一步地,将时效值处理为虚拟的分类变量区间时,是以连续变量a表示属性集合attr(r)中的一个连续型变量,以虚拟变量b表示一个离散型变量,将连续变量a和虚拟变量b创建列联表,对连续变量a和虚拟变量b进行卡方检验,根据最大卡方统计量将连续变量a划分为由虚拟变量b表示的区间。每个属性是缺失值填充方法中的一个变量。由于贝叶斯填充方法不支持读取连续型变量,所以需要将属性集合attr(r)中所有连续性的属性转化为离散型的变量。经过上述处理,可将连续性变量a转化为离散型变量b,以便后续应用贝叶斯填充方法。

s4-4、在测试数据中,计算一个属性的缺失值相关的一组朴素贝叶斯条件概率:为元组上的缺失属性取值为zi的条件概率。

s4-5、求得一组朴素贝叶斯条件概率中的最大值,若其大于该属性的置信阈值,则将其对应的填充值填入该属性的缺失值。即,求得若满足则使用z填充上的

s4-6、返回步骤s4-4,重复执行步骤s4-4和步骤s4-5,直到所有元组中的缺失值均被填充。

s5、数据集输出:输出经过完整性修复后的各个元组,得到清洗后的数据集。

清洗后的数据集时效性、完整性和一致性较好,在银行用户信息系统、人力资源管理信息系统、仓储信息系统的数据,经清洗后,可用于用户画像、行为分析、仓储库存预测等数据挖掘任务中。经清洗得到的高质量数据可保证数据挖掘模型的精度和可靠度。

为验证该数据清洗方法的有效性,本发明还在三个真实数据集上测试了效果,在准确率、召回率、f值的指标上表明本发明方法能够有效清洗劣质数据。与传统方法(未考虑时效性)相比,在修复属性时效性更新频繁的数据集中的数据质量问题时,本发明方法效果更优,而且在数据集中混合型错误率12%时,该方法表现依然稳定。

综上所述,本发明提出一种基于时效约束的元组时效判定方法,并给出了时效规则约束的一种具体应用场景和应用方法,实现了时效规则约束。同时,本发明还制定了有效的关系型时态数据上的综合型清洗策略,解决多种错误共存的低质量数据的检测和修复问题,提高数据清洗质量,并节约清洗成本,解决了不一致、不完整、时序关系不清的数据采用现有技术难以修复的问题,实现高效数据清洗,并得到质量优化后的数据集。

如图3所示,在本发明一些优选的实施方式中,还提供了一种数据清洗装置,包括:数据预处理模块100、时效性判定模块200、一致性修复模块300、完整性修复模块400和数据集输出模块500。

其中,数据预处理模块100用于获取待清洗的结构化数据和时效约束,根据时效约束对结构化数据中所有元组建立时序图,并经传递规约后,消除所述时序图上的冲突,得到时效子图。

时效性判定模块200用于基于所述时序子图计算每条元组的时效值,根据时效值量化各元组之间的时效顺序。

一致性修复模块300用于输入一致性规则,并从待清洗的结构化数据中提取一致性规则模式,得到一致性规则约束集合;基于各元组的时效值及元组之间的时效顺序,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离,选择满足一致性规则约束,且与该错误元组时效值最为接近的修复模式对错误元组进行一致性修复,得到经过一致性修复后的各个元组。

完整性修复模块400用于对经过一致性修复后的各个元组,利用贝叶斯填充方法,将元组的时效值作为该元组的新增属性参与贝叶斯的训练过程,实现对缺失值的填充,经过完整性修复后的各个元组。

数据集输出模块500,用于输出经过完整性修复后的各个元组,得到清洗后的数据集。

优选地,数据预处理模块100还用于在根据时效约束对结构化数据中所有元组建立时序图时,对于结构化数据中的每一个实体,先基于时效约束确定其对应的各条元组作为节点的时效值相对大小,再由任意两节点中时效值较小的节点向时效值较大的节点建立有向边。

在本发明另一些优选的实施方式中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施方式中所述的数据清洗方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程,在此不再重复说明。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。


技术特征:

1.一种数据清洗方法,其特征在于,该方法包括如下步骤:

s1、数据预处理:获取待清洗的结构化数据和时效约束,根据时效约束对结构化数据中所有元组建立时序图,并经传递规约后,消除所述时序图上的冲突,得到时效子图;

s2、时效性判定:基于所述时序子图计算每条元组的时效值,根据时效值量化各元组之间的时效顺序;

s3、一致性修复:输入cfd规则作为一致性规则,并从待清洗的结构化数据中提取一致性规则模式,得到一致性规则约束集合;基于各元组的时效值及元组之间的时效顺序,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离,选择满足一致性规则约束,且与该错误元组时效值最为接近的修复模式对错误元组进行一致性修复;

s4、完整性修复:对经过一致性修复后的各个元组,利用贝叶斯填充方法,将元组的时效值作为该元组的新增属性参与贝叶斯的训练过程,实现对缺失值的填充;

s5、数据集输出:输出经过完整性修复后的各个元组,得到清洗后的数据集。

2.根据权利要求1所述的方法,其特征在于,

所述数据预处理步骤中,根据时效约束对结构化数据中所有元组建立时序图时,对于结构化数据中的每一个实体,先基于时效约束确定其对应的各条元组作为节点的时效值相对大小,再由任意两节点中时效值较小的节点向时效值较大的节点建立有向边。

3.根据权利要求2所述的方法,其特征在于,

所述数据预处理步骤中,所述时效子图定义为:

对于时效图g=(v,e),其子图gc=(v,etr)是时效图g经传递规约后得到的时效子图,当且仅当:

gc与g拥有相同的传递闭包;

g′c的传递闭包与g的不同;

其中,v表示时效图g的点集,e表示时效图g的边集,etr表示时效图g的边集e经传递规约后得到的边集。

4.根据权利要求3所述的方法,其特征在于,

所述时效性判定步骤中,基于所述时序子图计算每条元组的时效值时,包括如下步骤:

s2-1、将起始节点s、终止节点t加入到所述时序子图,并将起始节点s与所述时序子图中所有入度为0的节点相连,将所述时序子图中所有出度为0的节点与终止节点t相连,定义起始节点s的时效值为0,终止节点t的时效值为1;

s2-2、选择一条尚未确定时效值的最长时效链,为其中的所有节点均匀分配时效值,使得相邻节点之间的时效值差值相等;

s2-3、重复上述步骤s2-2,直到所述时序子图中的所有节点均被确定时效值为止。

5.根据权利要求4所述的方法,其特征在于,

所述一致性修复步骤中,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离时,一条元组的时效性-一致性联合修复距离通过如下表达式计算:

其中,r表示一条元组,表示一条cfd规则,μ、ν是在(0,1)区间内的权重系数,满足μ ν=1;代表一致性距离,代表时效性距离;

一致性距离的表达式为:

其中,distb代表一个0或1的数值,当时,的值为1,否则为0,ai表示属性集合中的一个属性,分别为的左部、右部涉及到的属性数量;

时效性距离的表达式为:

其中,curr(r)、分别代表r、的时效值。

6.根据权利要求5所述的方法,其特征在于,

所述完整性修复步骤进一步包括:

s4-1、输入进行一致性修复后的各个元组,以及每个属性集合中的属性的置信阈值,将元组的时效值作为一个新增属性添加至相应的元组当中;

s4-2、检测带有缺失值的元组,将带有缺失值的元组作为测试数据,其余完整的所有元组作为训练集;

s4-3、预处理并离散化属性集合中的连续型变量,包括将时效值处理为虚拟的分类变量区间;

s4-4、在测试数据中,计算一个属性的缺失值相关的一组朴素贝叶斯条件概率;

s4-5、求得一组朴素贝叶斯条件概率中的最大值,若其大于该属性的置信阈值,则将其对应的填充值填入该属性的缺失值;

s4-6、返回步骤s4-4,重复执行步骤s4-4和步骤s4-5,直到所有元组中的缺失值均被填充。

7.根据权利要求6所述的方法,其特征在于,

所述步骤s4-3中将时效值处理为虚拟的分类变量区间时,以连续变量a表示属性集合中的一个连续型变量,以虚拟变量b表示一个离散型变量,将连续变量a和虚拟变量b创建列联表,对连续变量a和虚拟变量b进行卡方检验,根据最大卡方统计量将连续变量a划分为由虚拟变量b表示的区间。

8.一种数据清洗装置,其特征在于,包括:

数据预处理模块,用于获取待清洗的结构化数据和时效约束,根据时效约束对结构化数据中所有元组建立时序图,并经传递规约后,消除所述时序图上的冲突,得到时效子图;

时效性判定模块,用于基于所述时序子图计算每条元组的时效值,根据时效值量化各元组之间的时效顺序;

一致性修复模块,用于输入cfd规则作为一致性规则,并从待清洗的结构化数据中提取一致性规则模式,得到一致性规则约束集合;基于各元组的时效值及元组之间的时效顺序,以时效性-一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离,选择满足一致性规则约束,且与该错误元组时效值最为接近的修复模式对错误元组进行一致性修复;

完整性修复模块,用于对经过一致性修复后的各个元组,利用贝叶斯填充方法,将元组的时效值作为该元组的新增属性参与贝叶斯的训练过程,实现对缺失值的填充;

数据集输出模块,用于输出经过完整性修复后的各个元组,得到清洗后的数据集。

9.根据权利要求8所述的装置,其特征在于,

所述数据预处理模块还用于在根据时效约束对结构化数据中所有元组建立时序图时,对于结构化数据中的每一个实体,先基于时效约束确定其对应的各条元组作为节点的时效值相对大小,再由任意两节点中时效值较小的节点向时效值较大的节点建立有向边。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本发明涉及一种数据清洗方法、装置及计算机可读存储介质;该方法包括获取结构化数据和时效约束,对所有元组建立时序图,并经传递规约后得到时效子图;基于时序子图计算每条元组的时效值;以时效性‑一致性联合修复距离作为指标,计算错误元组和高质量元组之间的编辑距离,选择满足一致性规则约束,且与该错误元组时效值最为接近的修复模式对错误元组进行一致性修复;利用贝叶斯填充方法,将元组的时效值作为该元组的新增属性参与贝叶斯的训练过程,实现对缺失值的填充;得到清洗后的数据集。本发明能够对数据集中同时存在的时间戳不可用、不完整属性值、不一致属性值这三种数据质量问题进行有效地识别和修复。

技术研发人员:王宏志;丁小欧;苏佳轩
受保护的技术使用者:哈尔滨工业大学
技术研发日:2020.01.08
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-58384.html

最新回复(0)