一种数据质量检测方法及装置
技术领域
本说明书属于数据质量管理技术领域,尤其涉及一种数据质量检测方法及装置。
背景技术
数据质量问题往往会影响模型构建的准确率和模型输出结果,数据质量的管理是数据建模、数据分析的一项关键技术。随着计算机和互联网技术的发展,数据量也在不断的增加,如何快速准确的检测出大量的数据中是否存在问题的数据是一项比较重要的技术。
现有技术中,往往是基于检测规则进行数据质量的检测,如:对掉0、非空、数据变化趋势的监测。现有技术进行数据质量的检测通常需要人工参与决策,或是无法准确定位到数据质量问题,影响数据质量检测结果的准确性。
发明内容
本说明书目的在于提供一种数据质量检测方法及装置,提高了数据质量检测的准确性。
一方面本说明书实施例提供了一种数据质量检测方法,包括:
获取待检测数据的质量特征属性信息,所述质量特征属性信息包括数据链路信息;
确定所述质量特征属性信息对应的属性划分区间;
根据所述属性划分区间,利用构建的朴素贝叶斯分类器计算所述待检测数据存在质量问题的概率和所述待检测数据不存在质量问题的概率;
根据所述存在质量问题的概率和所述不存在质量问题的概率,确定所述待检测数据是否存在质量问题。
另一方面,本说明书提供了一种数据质量检测装置,包括:
质量属性获取模块,用于获取待检测数据的质量特征属性信息,所述质量特征属性信息包括数据链路信息;
属性区间确定模块,用于确定所述质量特征属性信息对应的属性划分区间;
概率计算模块,用于根据所述属性划分区间,利用构建的朴素贝叶斯分类器计算所述待检测数据存在质量问题的概率和所述待检测数据不存在质量问题的概率;
质量检测模块,用于根据所述存在质量问题的概率和所述不存在质量问题的概率,确定所述待检测数据是否存在质量问题。
还一方面,本说明书提供了数据质量检测处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中的数据质量检测方法。
再一方面,本说明书提供了一种数据质量检测系统,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中的数据质量检测方法。
本说明书提供的数据质量检测方法、装置、处理设备、系统,通过对数据的质量特征属性信息的提取和属性划分,利用朴素贝叶斯分类器计算待检测数据存在质量问题的概率和不存在质量问题的概率。可以实现数据质量的快速、准确检测,不需要使用深度学习等复杂的计算模型,方法简单。并且,在获取数据的质量特征属性信息时加入了数据链路信息,可以实现数据上下游变动的监测,加入了链路管理,提高数据质量检测结果的准确性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个实施例中数据质量检测方法的流程示意图;
图2是本说明书实施例中分类器构建过程的示意图;
图3是本说明书提供的数据质量检测装置一个实施例的模块结构示意图;
图4是本说明书又一实施例中数据质量检测装置的结构示意图;
图5是应用本申请实施例数据质量检测服务器的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
随着计算机和互联网技术的发展,数据分析的应用越来越多,如:基于数据分析构建模型,基于数据分析进行风险评估等,越来越多的业务离不开数据分析。如何确保模型构建、数据分析、财务数据管理等中使用的数据不存在质量问题,是一个比较重要的研究方向。
本说明书实施例中存在质量问题的数据,可以理解为数据有误、数据变动不正常、数据不一致等可能影响数据分析、模型建立的数据。
本说明书实施例中提供了一种数据质量检测方法,通过合理设置数据的质量特征属性,利用朴素贝叶斯分类器,对数据进行有质量问题和没有质量问题的分类,确定出数据存在质量问题的概率和不存在质量问题的概率,进一步确定数据是否存在质量问题。可以快速、准确的检测数据的质量问题。
本说明书中数据质量检测方法可以应用在客户端或服务器中,客户端可以是智能手机、平板电脑、智能可穿戴设备(智能手表、虚拟现实眼镜、虚拟现实头盔等)、智能车载设备等电子设备。
具体的,图1是本说明书一个实施例中数据质量检测方法的流程示意图,如图1所示,本说明书一个实施例中提供的数据质量检测方法的整体过程可以包括:
步骤102、获取待检测数据的质量特征属性信息,所述质量特征属性信息包括数据链路信息。
本说明书实施例中待检测数据的质量特征属性信息可以表示可能影响待检测数据质量的特征属性,如:数据变动比例、环比增长率等。本说明书一个实施例中引用数据链路管理,质量特征属性信息可以包括数据链路信息,在数据通信网中,按一种链路协议的技术要求连接两个或多个数据站的电信设施,可以称为数据链路。数据链路除了物理线路外,还有通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。数据链路信息可以表示在同一个链路中的数据之间的变化信息、关联信息等。数据链路信息可以实现对数据流的质量检测,为后续数据质量检测提供数据基础。
本说明书一个实施例中,所述数据链路信息可以包括:上游数据量增长比例、上游数据指标变动比例、下游数据指标变动比例、日志数据中的异常情况、链路调度情况中的至少一种。其中上游、下游可以表示数据流的方向,例如:系统A处理后的数据发送到系统B,系统A可以称为上游,系统B可以称为下游;或者表1中的数据可以用于表2中的数据处理,则表1可以称为上游,表2可以称为下游。上游数据量的增长比例也可以理解为环比增长率,如:上游某数据的环比增长率,或者上游数据总量的环比增长率。数据指标可以为平均数、方差、利率、峰值、增长速度等表征数据特征的信息。日志数据中的异常情况可以是系统日志中标记的出现问题的数据、异常数据的位置、异常原因等。链路调度情况可以表示数据之间相互调用的情况,如:表2需要用到表1中的数据,若表1还没有更新完,表2即调用表1的数据,则数据链路调度可能会出现异常情况。加入了数据链路信息,可以实现对链路中数据的检测,实现了上下游数据变动的质量监测。
步骤104、确定所述质量特征属性信息对应的属性划分区间。
在具体的实施过程中,本说明书实施例在构建朴素贝叶斯分类器时可以对数据的质量特征属性信息进行属性划分,将各质量特征属性信息划分为不同的区间。在对待检测数据进行质量检测时,可以确定出待检测数据的质量属性信息对应于哪个属性划分区间。
例如:若质量特征属性信息A的属性划分如下:{A<=5%,5%<A<=10%,10%<A<=20%,20%<A<=30%,30%<A<=40%,40%<A<=50%,50%<A<=100%,A>100%},可以看出,将质量特征属性信息A划分为8个属性划分区间。获取到待检测数据的质量特征属性信息A=3%,则可以确定待检测数据的质量特征属性信息A对应于A<=5%这一属性划分区间。
步骤106、根据所述属性划分区间,利用构建的朴素贝叶斯分类器计算所述待检测数据存在质量问题的概率和所述待检测数据不存在质量问题的概率。
在具体的实施过程中,确定出各个质量特征属性信息对应的属性划分区间后,可以利用构建的朴素贝叶斯分类器计算待检测数据存在质量问题的概率和待检测数据不存在质量问题的概率。朴素贝叶斯分类器可以表示一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器,朴素贝叶斯分类的定义可以参考如下:
1、设X={A1,A2,…,Am}为一个待分类项,其中A1~Am为X的一个特征属性。
2、有类别集合C={Y1,Y2,...,Yn},有类别结合可以表示将数据分为几类。
3、计算P(Y1|X),P(Y2|X),...,P(Yn|X)。
4、如果P(Yk|X)=MAX{P(Y1|X),P(Y2|X),...,P(Yn|X)},则X∈Yk。
本说明书实施例中,待检测数据可以表示待分类项,待检测数据的质量特征属性信息可以表示待检测数据的特征属性,数据是否有质量问题可以表示有类别集合,利用构建出的朴素贝叶斯分类器可以分别计算出各个质量特征属性信息对应的各个属性划分区间的频率。
例如:若待分类项X的质量特征属性信息为A,A的属性划分如下:{A<=5%,5%<A<=10%,10%<A<=20%,20%<A<=30%,30%<A<=40%,40%<A<=50%,50%<A<=100%,A>100%}。其中有类别集合为C={Y1,Y2},Y1表示数据没有质量问题,Y2表示数据有质量问题。在训练构建朴素贝叶斯分类器时可以计算训练样本中每个类别的频率,即分别计算出训练样本中有质量问题的数据的频率P(Y1),没有质量问题的数据的频率P(Y2),以及分别计算出每个类别条件下各个特征属性划分的频率:P(A<=5%|Y1),P(5%<A<=10%|Y1),…P(A>100%|Y1),P(A<=5%|Y2),P(5%<A<=10%|Y2),…P(A>100%|Y2)。若待检测数据的质量特征属性信息A=3%,利用朴素贝叶斯分类器可以确定出待检测数据存在质量问题的概率可以表示为:P(Y1)P(X|Y1)=P(Y=1)P(A<=5%|Y1),待检测数据不存在质量问题的概率可以表示为:P(Y2)P(X|Y2)=P(Y2)P(A<=5%|Y2)。
实际应用时,可以将待检测数据的质量特征属性信息的具体取值输入到构建的朴素贝叶斯分类器中,分类器可以识别待检测数据的质量特征属性信息所属的属性划分区间,并输出待检测数据存在质量问题的概率和待检测数据不存在质量问题的概率。
步骤108、根据所述存在质量问题的概率和所述不存在质量问题的概率,确定所述待检测数据是否存在质量问题。
利用朴素贝叶斯分类器分别计算出待检测数据存在质量问题的概率和不存在质量问题的概率后,可以确定出待检测数据是否存在质量问题。如:若存在质量问题的概率大于不存在质量问题的概率,则可以确定待检测数据有质量问题,可以进行质量预警或人工检测等。也可以设置概率阈值,若存在质量问题的概率大于概率阈值或不存在质量问题的概率小于预设阈值,则确定待检测数据存在质量问题。
本说明书一个实施例中,所述根据所述存在质量问题的概率和所述不存在质量问题的概率,确定所述待检测数据是否存在质量问题,可以包括:
若所述存在质量问题的概率大于样本问题数据比例,或所述不存在质量问题到的概率小于样本正常数据比例,则确定所述待检测数据存在质量问题,进行质量预警;
其中,所述样本问题数据比例表示构建所述朴素贝叶斯分类器使用的样本数据中存在质量问题的数据比例;
所述样本正常数据比例表示构建所述朴素贝叶斯分类器使用的样本数据中不存在质量问题的数据比例。
在具体的实施过程中,可以利用训练构建朴素贝叶斯分类器时使用的样本数据设置概率阈值,如:将样本数据中存在质量问题的数据所占的比例作为样本问题数据比例即存在质量问题的阈值,将样本数据中不存在质量问题的数据所占的比例作为样本正常数据比例即不存在质量问题的阈值。若利用朴素贝叶斯分类器计算出的待检测数据存在质量问题的概率大于样本问题数据比例,或待检测数据不存在质量问题的概率小于样本正常数据比例,则确定述待检测数据存在质量问题,可以进行质量预警,提醒工作人员及时处理。根据实际情况,还可以调整阈值,通过合理设置阈值,可以避免小质量问题即预警,导致预警频繁的问题。
例如:本说明书实施例中构建朴素贝叶斯分类器时的样本数据为100000个,其中,有质量问题的数据为1000个,没有质量问题的数据为99000个,则样本问题数据比例=1000/100000=0.01,样本正常数据比例=99000/100000=0.99。若计算出的待检测数据存在质量问题的概率为0.05>0.01,则可以确定待检测数据有质量问题,可以进行质量预警。或者,也可以直接设置存在质量问题的阈值为0.01,不存在质量问题的阈值为0.90,将计算出的待检测数据的存在质量问题的概率和不存在质量问题的概率,与预先设置的阈值进行比较,确定待检测数据是否存在质量问题。
本说明书实施例提供的数据质量检测方法,通过对数据的质量特征属性信息的提取和属性划分,利用朴素贝叶斯分类器计算待检测数据存在质量问题的概率和不存在质量问题的概率。可以实现数据质量的快速、准确检测,不需要使用深度学习等复杂的计算模型,方法简单。并且,在获取数据的质量特征属性信息时加入了数据链路信息,可以实现数据上下游变动的监测,加入了链路管理,提高数据质量检测结果的准确性。
在上述实施例的基础上,本说明书一个实施例中,可以采用下述方法构建朴素贝叶斯分类器:
设置数据质量类别;
确定质量特征属性信息,对所述质量特征属性信息进行属性区间划分;
获取样本数据,所述样本数据中包括相同数据链路中存在质量问题的数据和不存在质量问题的数据;
计算所述样本数据中各数据质量类别对应的频率;
计算所述样本数据中每个数据质量类别条件下,各个质量特征属性信息对应的各个属性划分区间的频率,完成所述朴素贝叶斯分类器的构建。
图2是本说明书实施例中分类器构建过程的示意图,如图2所示,分类器构建的过程主要包括:
1)、定义数据质量类别
在具体的实施过程中,数据质量类别可以分为两类,一类是有质量问题的数据,一类是没有质量问题的数据。质量问题数据的定义可能会影响分类器的准确率,可以参考质量管理经验来进行设定数据的质量问题,从而更加精确的定位数据质量问题。数据的质量问题可以是:数据有误、数据不一致、数据更新不同步、数据波动异常等,具体可以根据实际情况进行定义。本说明书实施例中,可以根据历史数据,标记存在质量问题的数据,可以将Y=0设置为表示无数据质量问题,Y=1设置为表示存在数据质量问题。
2)、获取质量特征属性信息
设置好数据质量类别后,可以选择质量特征属性信息,质量特征属性信息可以表示影响数据质量问题的特征属性,具体可以参考上述实施例的记载,此处不再赘述。确定质量特征属性信息后,对各个质量特征属性信息进行属性区间划分,属性区间划分的方法可以根据历史数据结合专家经验、先验经验等确定,本说明书实施例不作具体限定。
例如:本说明书一个实施例中确定的质量特征属性信息分别为:A:下游指标当日变动比例,B:上游指标当日变动比例,C:ODS(Operational Data Store,操作数据存储)源表近周环比增长率,D:当日该数据链路调度是否正常。各个质量特征属性信息的属性区间划分可以参考如下:
A:{A<=5%,5%<A<=10%,10%<A<=20%,20%<A<=30%,30%<A<=40%,40%<A<=50%,50%<A<=100%,A>100%}
B:{B<=5%,5%<B<=10%,10%<B<=20%,20%<B<=30%,30%<B<=40%,40%<B<=50%,50%<B<=100%,B>100%}
C:{C<=5%,5%<C<=10%,10%<C<=20%,20%<C<=30%,30%<C<=40%,40%<C<=50%,50%<C<=100%,C>100%}
D:{D=0(否),D=1(是)}
当然,根据实际需要还可以采用其他的区间划分方式,还可以根据实际应用情况,对区间划分结果进行调整,本说明书实施例不作具体限定。
3)、获取训练的样本数据
确定出质量特征属性信息以及属性划分区间后,可以获取训练的样本数据,本说明书一个实施例中可以采用分成抽样的方法,获取过去指定时间(如:3年)曾经出现过质量问题的数据作为坏样本(即有质量问题的数据),抽取同一个数据链路中不存在质量问题的数据作为好样本(即没有质量问题的数据)。本说明书一个实施例中坏样本为1000个,好样本为99000个。
4)、分类器训练
计算样本数据中不同数据质量类别对应的频率,本说明书实施例中数据质量类别为2种即Y=0,Y=1,分别计算样本数据中存在质量问题的数据的频率和不存在质量问题的数据的频率:P(Y=0)=99000/100000=0.99,P(Y=1)=1000/100000=0.012)。
再计算每个数据质量类别条件下,不同质量特征属性信息对应的各个属性划分区间的频率,如可以计算如下频率:
P(A<=5%|Y=0),P(5%<A<=10%|Y=0),…,P(A>100%|Y=0);
P(A<=5%|Y=1),P(5%<A<=10%|Y=1),…,P(A>100%|Y=1);
P(B<=5%|Y=0),P(5%<B<=10%|Y=0),…,P(B>100%|Y=0);
P(B<=5%|Y=1),P(5%<B<=10%|Y=1),…,P(B>100%|Y=1);
P(C<=5%|Y=0),P(5%<C<=10%|Y=0),…,P(C>100%|Y=0);
P(C<=5%|Y=1),P(5%<C<=10%|Y=1),…,P(C>100%|Y=1);
P(D=0|Y=0),P(D=1|Y=0);
P(D=0|Y=1),P(D=1|Y=1)。
利用贝叶斯原理计算出不同数据质量类别条件下,各个质量特征属性信息对应的不同属性划分区间的频率后,即完成了朴素贝叶斯分类器的构建。
构建完成朴素贝叶斯分类器后,可以根据获取到的待检测数据的质量特征属性信息,利用构建出的朴素贝叶斯分类器计算出待检测数据存在质量问题的概率和不存在质量问题的概率。
例如:若待检测数据的下游指标当日变动比例A为3%,上游指标当日变动比例B为6%,ODS源表近周环比增长率C为120%,当日该数据链路调度D为正常,则待检测数据存在质量问题的概率为:
P(Y=1)P(X|Y=1)=P(Y=1)P(A<=5%|Y=1)P(5%<B<=10%|Y=1)P(C>100%|Y=1)P(D=1|Y=1)
待检测数据不存在质量问题的概率为:
P(Y=0)P(X|Y=0)=P(Y=0)P(A<=5%|Y=0)P(5%<B<=10%|Y=0)P(C>100%|Y=0)P(D=1|Y=0)
若计算出的待检测数据存在质量问题的概率超过0.01(样本问题数据比例),或不出现质量问题的概率小于0.99(样本正常数据比例),则可以进行数据质量预警。样本问题数据比例、样本正常数据比例可以作为预警阈值,当然,根据实际需要,该预警阈值可根据误报率和经验可以进行调整。
本说明书实施例提供的数据质量检测方法,基于与数据质量相关的质量特征属性信息,采集历史数据作为样本数据,训练构建朴素贝叶斯分类器,实现了数据之间检测模型的快速开发和计算,为数据质量的检测提供的数据基础,实现了数据质量的自动检测。本说明书实施例的数据质量检测方法,可以不需要人工参与决策,也可以不需要复杂的深度学习算法等模型,方法简单,相比规则校验法,准确率更高,且能发现更多隐藏的问题,实现了数据质量的准确快速检测。
如图2所示,本说明书实施例中分类器训练完成后,还可以进行分类器评估,在上述实施例的基础上,本说明书一个实施例中,还可以采用回归测试方法对所述朴素贝叶斯分类器进行准确率评估,回归测试可以表示修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。通过回归测试可以提高朴素贝叶斯分类器的准确性,提高数据质量检测的准确性。
例如:训练构建完成朴素贝叶斯分类器后,可以获取测试样本数据,输入到训练好的朴素贝叶斯分类器中,比较输出的测试结果与实际情况是否相同,若不同,则可以通过修改数据存在质量问题的定义方式或修改质量特征属性信息的属性区间划分等,重新训练朴素贝叶斯分类器,再重新利用测试样本数据进行回归测试,直至测试的准确率结果达到要求。
在上述实施例的基础上,本说明书一个实施例中,在训练构建朴素贝叶斯分类器时,还可以:
将所述样本数据划分为构建样本数据和测试样本数据;
采用所述构建样本数据构建所述朴素贝叶斯分类器,采用所述测试样本数据对构建的所述朴素贝叶斯分类器进行准确率评估。
在具体的实施过程中,可以将训练构建分类器的样本数据按比例划分为:构建样本数据和测试样本数据,利用构建样本数据采用上述实施例的方法构建朴素贝叶斯分类器,再采用测试样本数据对构建完成的朴素贝叶斯分类器进行测试。若构建的朴素贝叶斯分类器的测试结果准确率不满足预设要求,可以对朴素贝叶斯分类器进行修改,直至准确率满足要求为止。
例如:可以将样本数据按8:2或7:3或者6:4或其他比例方式进行拆分,将样本数据分为构建样本数据和测试样本数据。然后使用构建样本数据构建分类器,用测试样本数据检测构建的分类器的准确率。分类器的准确率可以指分类器正确分类的项目占所有被分类项目的比率,为保证数据质量定位的准确性,可以设置准确率阈值如:分类器正确率至少应保证95%以上,通过测试调整分类器,直至满足准确率阈值位置。
本说明书实施例将构建朴素贝叶斯分类器的样本数据划分为构建样本数据、测试样本数据,利用构建样本数据构建分类器,再利用测试样本数据对构建的分类器进行准确率测试,可以提高分类器的准确率,避免出现过拟合问题,进一步可以提高数据质量检测的准确性。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
基于上述所述的数据质量检测方法,本说明书一个或多个实施例还提供一种数据质量检测装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图3是本说明书提供的数据质量检测装置一个实施例的模块结构示意图,如图3所示,本说明书中提供的数据质量检测装置包括:质量属性获取模块31、属性区间确定模块32、概率计算模块33、质量检测模块34,其中:
质量属性获取模块31,可以用于获取待检测数据的质量特征属性信息,所述质量特征属性信息包括数据链路信息;
属性区间确定模块32,可以用于确定所述质量特征属性信息对应的属性划分区间;
概率计算模块33,可以用于根据所述属性划分区间,利用构建的朴素贝叶斯分类器计算所述待检测数据存在质量问题的概率和所述待检测数据不存在质量问题的概率;
质量检测模块34,可以用于根据所述存在质量问题的概率和所述不存在质量问题的概率,确定所述待检测数据是否存在质量问题。
本说明书实施例提供的数据质量检测装置,通过对数据的质量特征属性信息的提取和属性划分,利用朴素贝叶斯分类器计算待检测数据存在质量问题的概率和不存在质量问题的概率。可以实现数据质量的快速、准确检测,不需要使用深度学习等复杂的计算模型,方法简单。并且,在获取数据的质量特征属性信息时加入了数据链路信息,可以实现数据上下游变动的监测,提高数据质量检测结果的准确性。
在上述实施例的基础上,所述质量属性获取模块获取到的质量特征属性信息中的数据链路信息包括:上游数据量增长比例、上游数据指标变动比例、下游数据指标变动比例、日志数据中的异常情况、链路调度情况中的至少一种。
本说明书实施例提供的数据质量检测装置,在影响数据质量的特征属性中加入了数据链路信息,可以实现对链路中数据的检测,实现了上下游数据变动的质量监测。
图4是本说明书又一实施例中数据质量检测装置的结构示意图,如图4所示,在上述实施例的基础上,所述装置还包括分类器训练模块41,用于采用下述方法构建所述朴素贝叶斯分类器:
设置数据质量类别;
确定质量特征属性信息,对所述质量特征属性信息进行属性区间划分;
获取样本数据,所述样本数据中包括相同数据链路中存在质量问题的数据和不存在质量问题的数据;
计算所述样本数据中各数据质量类别对应的频率;
计算所述样本数据中每个数据质量类别条件下,各个质量特征属性信息对应的各个属性划分区间的频率,完成所述朴素贝叶斯分类器的构建。
本说明书实施例基于与数据质量相关的质量特征属性信息,采集历史数据作为样本数据,训练构建朴素贝叶斯分类器,实现了数据之间检测模型的快速开发和计算,为数据质量的检测提供的数据基础。实现了数据质量的自动检测,可以不需要人工参与决策,也可以不需要复杂的深度学习算法等模型,方法简单,相比规则校验法,准确率更高,且能发现更多隐藏的问题,实现了数据质量的准确快速检测。
在上述实施例的基础上,所述分类器训练模块还用于:
采用回归测试方法对所述朴素贝叶斯分类器进行准确率评估。
本说明书实施例,通过回归测试可以提高朴素贝叶斯分类器的准确性,提高数据质量检测的准确性。
在上述实施例的基础上,所述分类器训练模块还用于:
将所述样本数据划分为构建样本数据和测试样本数据;
采用所述构建样本数据构建所述朴素贝叶斯分类器;
采用所述测试样本数据对构建的所述朴素贝叶斯分类器进行准确率评估。
本说明书实施例,将构建朴素贝叶斯分类器的样本数据划分为构建样本数据、测试样本数据,利用构建样本数据构建分类器,再利用测试样本数据对构建的分类器进行准确率测试,可以提高分类器的准确率,避免出现过拟合问题,进一步可以提高数据质量检测的准确性。
在上述实施例的基础上,所述质量检测模块具体用于:
在所述存在质量问题的概率大于样本问题数据比例,或所述不存在质量问题到的概率小于样本正常数据比例时,确定所述待检测数据存在质量问题,进行质量预警;
其中,所述样本问题数据比例表示构建所述朴素贝叶斯分类器使用的样本数据中存在质量问题的数据比例;
所述样本正常数据比例表示构建所述朴素贝叶斯分类器使用的样本数据中不存在质量问题的数据比例。
本说明书实施例,通过合理设置阈值,可以避免小质量问题即预警,导致预警频繁的问题。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种数据质量检测处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的数据质量检测方法,如:
获取待检测数据的质量特征属性信息,所述质量特征属性信息包括数据链路信息;
确定所述质量特征属性信息对应的属性划分区间;
根据所述属性划分区间,利用构建的朴素贝叶斯分类器计算所述待检测数据存在质量问题的概率和所述待检测数据不存在质量问题的概率;
根据所述存在质量问题的概率和所述不存在质量问题的概率,确定所述待检测数据是否存在质量问题。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
需要说明的,上述所述的处理设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书提供的数据质量检测系统可以为单独的数据质量检测系统,也可以应用在多种数据分析处理系统中。所述系统可以包括上述实施例中任意一个数据质量检测装置。所述的系统可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图5是应用本申请实施例数据质量检测服务器的硬件结构框图。如图5所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本邻域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图5所示不同的配置。
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的数据质量检测方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。
本说明书实施例提供的上述数据质量检测方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机数据处理和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。