CN106919719A - 一种面向大数据的信息补全方法 - Google Patents
一种面向大数据的信息补全方法 Download PDFInfo
- Publication number
- CN106919719A CN106919719A CN201710156391.XA CN201710156391A CN106919719A CN 106919719 A CN106919719 A CN 106919719A CN 201710156391 A CN201710156391 A CN 201710156391A CN 106919719 A CN106919719 A CN 106919719A
- Authority
- CN
- China
- Prior art keywords
- data
- missing
- value
- tuple
- missing data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向大数据的信息补全方法,该方法充分利用缺失数据的特点:缺失数据的取值和它所在元组中其他属性或者属性组合取值即证据链有关,通过挖掘每条有缺失数据的元组中缺失数据所有的相关证据,综合这些相关证据成为估计缺失属性取值的证据链,最后通过证据链来估计缺失数据的取值。由于直接从原有的数据集中计算缺失数据相关证据链来预测缺失值得取值,所以本发明在填充缺失值时不仅拥有高的填充准确率和抗缺失率,而且简单易行,不需要掌握数据集中数据的分布,领域知识,也不需要在数据集上训练估计模型,为补全数据节省大量的时间。本分明可以基于Map‑Reduce分布式编程框架运行,可以分布式补全大规模数据集。
Description
技术领域
本发明涉及一种面向大数据的信息补全方法,属于数据预处理技术领域。
背景技术
近年来随着信息技术的高速发展,全球数据持续的以***性的速度增长,我们的世界已经迈入大数据时代。在现实生活中由于在数据录入时出现遗漏、不统一的度量规则、以及收集条件的限制等多方面的因素导致数据的缺失。缺失的数据不仅损害了数据的完整性,还会导致数据挖据与数据分析的结论出现偏差。为了避免出现这种情况往往会预先填充这些缺失的数据。大数据的信息补全已经是数据挖据领域进行数据预处理的一个重要问题。而传统的大数据补全方法普遍存在填充准确率低下,抗缺失率能力有限等不足。
所以急需一种对缺失数据集既具有较好填充准确率又具有较强的抗缺失率的算法,且算法能够较好的适用于大规模数据集的环境。
发明内容
本发明所要解决的技术问题是:提供一种面向大数据的信息补全方法,具有更高的填充准确率和抗缺失率,并且采用分布式的填充方法适应大规模数据集。
本发明为解决上述技术问题采用以下技术方案:
一种面向大数据的信息补全方法,包括如下步骤:
步骤1,令数据集为D,D有m行n列数据,每一行为一个数据元组,每一列为一个属性,扫描数据集的每个数据元组Dj,j=1,…,m并编号,找出其中的不完整数据元组以及不完整数据元组中缺失数据的位置;
步骤2,将不完整数据元组中的其他非缺失数据进行组合,得到该不完整数据元组中非缺失数据组合的集合,作为估计缺失数据取值的证据链;
步骤3,根据完整数据元组对应缺失位置的非缺失数据,得到缺失数据可能的取值,计算缺失数据可能的取值p的概率;
步骤4,根据步骤1缺失数据的位置,将步骤2得到的非缺失数据组合的集合与步骤3得到的缺失数据可能的取值进行连接,再将集合中各个非缺失数据组合与缺失数据可能的取值进行连接;
步骤5,对整个数据集中的非缺失数据进行组合,统计每个组合出现的次数;
步骤6,对每个数据元组,选择其中一个属性值,将该数据元组中剩余属性进行组合,得到组合的集合,统计集合中每个组合与所选取的属性值在整个数据集中同时出现的次数;
步骤7,在步骤5的结果中提取各不完整数据元组中每个非缺失数据组合在整个数据集中的数量,在步骤6的结果中提取各不完整数据元组中非缺失数据组合与缺失数据可能的取值同时出现的次数,计算不完整数据元组中缺失数据可能的取值在其非缺失数据组合条件下取值的概率,将概率最大值对应的取值作为缺失数据的填充值。
作为本发明的一种优选方案,步骤3所述缺失数据可能的取值p的概率的计算公式为:
其中,m为所有数据元组的数量,K(p)为缺失数据可能的取值p在每个数据元组中同一缺失位置出现的次数,P(p)为缺失数据可能的取值p的概率。
作为本发明的一种优选方案,步骤7所述计算不完整数据元组中缺失数据可能的取值在其非缺失数据组合条件下取值的概率的计算公式为:
其中,P(p)为缺失数据可能的取值p的概率,S(p∪C(y,u))为不完整数据元组中非缺失数据组合C(y,u)与缺失数据可能的取值同时出现的次数,S(C(y,u))为不完整数据元组中每个非缺失数据组合在整个数据集中的数量,为缺失数据可能的取值的证据链Sj的可信度即概率,Sj为编号为j的不完整数据元组缺失数据的证据链。
作为本发明的一种优选方案,所述步骤2、步骤3没有顺序限制。
作为本发明的一种优选方案,所述步骤5、步骤6没有顺序限制。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明方法采用UCI机器学习数据,进行不同比例的随机剔除其中属性值得到实验数据集,然后进行缺失数据的填充,结果表明本发明在填充缺失值时具有较高的填充准确率和稳定性。
2、本发明适合大数据,目前大多数方法是在单机上处理小型缺失数据集的,然而目前随着信息化的发展,数据量急剧增长,大规模数据集在单机上处理显然已经不合适了;本发明可以基于Map-Reduce编程模型实现在分布式数据处理平台上填充大规模的数据集。
3、本发明方法简单易行,不需要掌握数据集中数据的分布,领域知识,也不需要在数据集上训练估计模型,为补全数据节省大量的时间。
附图说明
图1是本发明一种面向大数据的信息补全方法的算法时序图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明是一种改进性和综合性的方法,通过对基于缺失元组中相关属性组合集合证据链来估计缺失数据的值提出的,算法首先估算缺失值的填充值,扫描整个数据集中每个数据元组,将带有缺失值的元组标记为不完整的数据元组,并在不完整的数据元组中将完整的不同属性值组合来作为估计缺失值取值的证据。这样在不完整元组中大量的完整属性组合就构成了估计缺失数据的证据链,算法会再次扫描整个数据集统计所有数据元组中属性值集合。算法的核心任务就是在证据链中计算每个估计缺失值取值证据的可信度。这样就得到估计缺失数据取值所有证据的可信度之和,选取可信度之和最大的估计值作为填充值。
为便于公众理解本发明的技术方案,下面先对本发明所涉及的缺失模型、缺失数据的填充原理、算法基于Map-Reduce的并行化进行简要介绍。
一、缺失模型
令数据集为D,D有m行n列数据,即数据集D有m条数据元组,每条数据元组有n个属性,则数据集D可以定义为:
D={A1,A2,A3,…,An} (1)
其中,Ai(1≤i≤n)表示数据集D的第i列属性。
数据集中数据元组记为:
Dj={Dj(Ai)|1≤j≤m,1≤i≤n} (2)
其中,Xj,i(1≤j≤m,1≤i≤n)表示数据集D的第j行第i列属性的取值,令D中第j个元组中第i属性为Dj(Ai)。
定义1、缺失模型定义如下:
其中,Dj(Ai)='?'表示第j个元组中第i个属性取值缺失。
当数据元组中存在Dj(Ai)='?'时则该数据元组为不完整数据元组,记为:
相反当数组元组中不存在Dj(Ai)='?',则该数组元组为完整数据元组,记为:
Rj={Dj(Ai)|Dj(Ai)!='?',1≤j≤m,1≤i≤n} (5)
定义2、将不完整数据元组中非缺失的数据即缺失数据的相关属性值组合集合定义为估算缺失值取值的证据链:
Sj={C(y,u)|1≤y≤n,1≤u≤y} (6)
其中,C(y,u)是估计缺失值取值的相关属性值组合,即从y个完整属性值中选取u个无序属性值,将其记为估计缺失值取值的证据。
算法的主要目标就是通过集合来估计第j个数据元组中缺失数据的值。
二、缺失数据填充的原理
在数据集D的任意数据元组Dj(1≤j≤m)中,存在某一属性集合,假设为A。数据元组Dj(1≤j≤m)包含A,当且仅当规则形如在数据集D的元组Dj(1≤j≤m)中成立,其中并且这时记数据集D中所有元组中包含集合A和集合B的并A∪B的比例为P(A∪B)。
定义3、支持度计数S表示数据集中某项集合的数量,则整个数据集D中规则支持度计数定义为:
定义4、记数据集D中所有元组包含属性集合A也包含属性集合B的比例为C,这是条件概率P(B|A),则整个数据集D中规则可信度定义为:
可信度的计算为:
本发明核心工作是计算缺失数据的可能取值和其相关证据链的支持度计数即S(p∪Sj),然后计算出证据链中每个证据的可信度,所有证据的可信度相加得到该可能值得相关证据链的可信度最后用证据链可信度最大的可能值作为缺失数据的填充值。
三、算法基于Map-Reduce的并行化
Map-Reduce是一种并行化程序设计框架,是目前云计算平台最为流行的计算模型。其基本思想是对大规模数据集采用分而治之的策略。Map-Reduce计算数据以Key/Value格式进行运算。MapReduce实现并行化的核心是Map和Reduce这两个操作,Map-Reduce计算框架先将数据集分割成许多同等大小的小文件并分配给不同的节点,每个节点进行Map计算,并将计算结果进行排序合并,相同的Key的Value放在同一集合中进行Reduce计算。
本发明给出基于Map-Reduce编程框架的算法,以实现该算法的分布式运行。如图1所示,本算法主要分为5个阶段,首先在数据集中利用缺失数据相关属性组合集合来估计缺失数据的取值,然后将估计出来的值填充到数据集中。
阶段1、算法扫描数据集为每个不完整数据元组标记唯一的编号,并给出每条不完整数据元组中缺失数据位置,以确定该元组中哪个属性数据的缺失。输出的每条记录中包含每个不完整数据元组的编号、该不完整数据元组中缺失数据的位置、以及该不完整数据元组。这些记录构成了该阶段的结果文件。
阶段2、该阶段分成4个模块,每个模块可以同时进行。
模块1、算法扫描阶段1结果文件计算出不完整数据元组中非缺失属性值的组合C(y,u)的集合Sj,Sj将作为估计缺失数据取值的证据链,输出的每条记录中包含每个不完整数据元组的编号、该不完整数据元组中缺失数据的位置、该不完整数据元组中非缺失数据的组合集合Sj。这些记录构成了该模块的结果文件。
模块2、算法统计数据集中每个属性的取值p以及p的概率P(p),缺失数据的取值将来自于p:
公式中K()函数表示计数,K(p)表示缺属性值p在整个数据集中同一属性上出现的次数,m表示数据元组的数量。
输出的每条记录包含属性值的位置、属性值p、p的概率P(p),这些记录构成了该模块的输出文件。
模块3、算法统计整个数据集中每个数据元组的非缺失数据的组合集合C(y,u)的数量Oj,将用于算法在下面步骤中用于缺失数据取值估计的概率查询,输出的每条记录包含每个数据元组的非缺失数据的组合集合C(y,u)和其数量Oj。这些记录构成了该模块的输出文件。
模块4、算法在整个数据集的每个数据元组中统计非缺失数据组合C(y,u)和某个属性值,该属性值不能出现在C(y,u)中,在整个数据集同时出现,即在同一数据元组中的数量Tj。具体操作是算法首先扫描一个数据元祖,依次选择其中某个属性值,在每次选择一个属性值后,再将这个数据元组中剩余属性进行排列组合,便得到组合的集合。最后依次统计集合中每个组合和所选取的属性值在整个数据集中在同一数据元组中的数量Tj。
Tj=K(Dj(Ai)(1≤j≤m,1≤i≤n)∪C(y,u)(1≤y≤n,1≤u≤y)) (11)
输出的每条记录中包含数据元组中某一属性值位置、该属性值、该数据元组中剩余属性值的排列组合中的一个组合、该组合和某一属性值在同一数据元组中的数量。
阶段3、算法将阶段2中模块1的输出的估计缺失数据所依赖的证据链Sj与阶段2中模块2的输出属性取值记录进行连接。我们就得到了每个不完整数据元组中非缺失数据的组合C(y,u)和每个缺失数据可能的填充值p以及p在整个数据集中出现的概率P(p)。
具体的操作是算法首先根据缺失位置将阶段2中模块1的输出的记录和阶段2中模块2的输出记录进行连接,这样就得到了一个包含了某个不完整数据元组的缺失数据位置、缺失数据的可能填充值、该元组中非缺失数据的组合集合Sj的记录。
然后算法将刚才记录中的Sj中每个非缺失数据的组合C(y,u)与缺失数据可能的取值p进行连接。
该模块输出的每条记录包含某个不完整数据元组中非缺失数据的组合C(y,u)、该元组中缺失数据的位置、缺失数据可能的取值、可能值p在整个数据集中出现的概率P(p)。
阶段4、算法去阶段2模块3的结果文件里查找阶段3结果文件中某个不完整数据元组中非缺失数据的组合C(y,u)的数量Oj。此时S(C(y,u))=Oj。并在阶段2中模块4的结果文件中查找阶段3结果文件中某个不完整数据元组中非缺失数据的组合C(y,u)和缺失数据的可能的取值p在整个数据集同时出现的次数Tj,此时S(p∪C(y,u))=Tj。我们就可以计算出不完整数据元组中所有缺失数据在其非缺失属性值组合C(y,u)的条件下取值的概率。
我们选取概率最大即可信度最大的估计值作为最终的填充值。
阶段5、算法根据阶段4中估算出的缺失数据可能的取值,将其值填充到原缺失数据集D中。
算法在第1、2、3、4阶段就是进行估算缺失数据取值,由于在大多数数据集中数据属性之间并不存在明显的因果关系,相反数据属性会存在相关关系,这种相关关系我们通过缺失数据相关属性值组合集合来体现,Map-Reduce在这一阶段主要完成在不完整数据元组中缺失数据的相关属性值组合集合的计算,并估算出缺失数据的取值。
阶段1、标记缺失数据集
输入:含有缺失值的数据文件。
输出:数据元组标号、数据元组。
Map<Object,Text,Text,Text>
Input:key=offset,value=tuple
1.FFOR each<key,value>DO
2.ADD tupleindex into tuple
3.FOR each<attri-v,tuple>DO
IF tuple contains missingvalue THEN
Outkey:tupleindex
Outvalue:tuple
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
Outkey:key
Outvalue:tuple
阶段1中Map函数扫描数据集为每个数据元组添加标记tupleindex,Reduce函数最后输出数据格式是(tupleindex,tuple)。
阶段2、该阶段分为4个模块,每个模块可以同时进行
模块1、缺失数据相关属性组合集合
输入:阶段1结果文件。
输出:数据元组标号、缺失值所在位置、缺失值相关属性值组合集合。
Map<Object,Text,Text,Text>
Input:key=offset,value=tuple
1.FOR each<key,value>DO
2.IF tuple contains missingvalue THEN
ADD rest complete attribute into set comple-attri
3.Calculation complete attribute combination combi-attri in comple-attri
4.Outkey:tupleindex+missingindex
Outvalue:combi-attri
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
Outkey:key
Outvalue:comple-attri
模块1中missingindex是缺失数据在不完整数据元组中的位置,Map函数将不完整数据元组中缺失数据相关属性值组合comple-attri添加到属性组合的集合combi-attri中。Reduce函数最后输出数据格式是(tupleindex,missingindex,combi-attri)。
模块2、缺失数据的可能取值
输入:阶段1结果文件。
输出:数组元组标号、缺失数据可能的取值、缺失数据可能的取值概率。
Map<Object,Text,Text,Text>
Input:key=offset,value=tuple
1.FOR each<key,value>DO
2.FOR each<attri-v,tuple>DO
Outkey:attriindex
Outvalue:attri-v
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
Add value into list-pro
2.Calculation valuelist-pro length divided by m as pro
3.Outkey:attriindex
Outvalue:attriindex+list-pro+pro
模块2中算法扫描每个数据元组,Map函数记录每个属性的取值attri-v并输出每个属性编号attriindex。Reduce函数中得出每个属性中可能取值的列表list-pro以及每个可能取值的概率pro。
模块3、统计属性值组合集合的数量
输入:阶段1结果文件。
输出:属性值组合集合、属性值组合集合数量。
Map<Object,Text,Text,Text>
Input:key=offset,value=tuple
1.FOR each<key,value>DO
Calculation C(y,u)in tuple as combi-attri
2.Outkey:combi-attri
Outvalue:1
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
Calculation number of combi-attri
2.Outkey:combi-attri
Outvalue:num_c
模块3中Map函数计算出每个数据元组中的属性值组合combi-attri,Reduce函数计算出每个数据元组中每个属性值组合在整个数据集中的数量num_c。
模块4、统计在整个数据集中属性值组合和某个属性值在同一数据元组中的数量
输入:阶段1结果文件。
输出:属性值组合、某个属性值的位置、某个属性值、属性值组合和某个属性值在同一数据元组中的数量。
Map<Object,Text,Text,Text>
Input:key=offset,value=tuple
1.FOR each<key,value>DO
2.FOR each<attri-v,tuple>DO
Calculation C(y,u)in rest complete attribute as combi-attri
3.Outkey:combi-attri+attriindex+attri-v
Outvalue:1
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
Calculation number of combi-attri+attriindex+attri-v
2.Outkey:combi-attri+attriindex+attri-v
Outvalue:num_caa
模块4中Map函数扫描每个数据元组,依次选取数据元组中属性值attri-v,然后在剩余属性值中计算属性值组合combi-attri,在Reduce函数中统计combi-attri和attri-v在整个数据集中在同一数据元组的数量num_caa。
阶段3、缺失数据相关属性值组合集合与缺失数据可能值连接
输入:阶段2中模块1的结果文件,阶段2中模块2的结果文件。
输出:相关属性值组合、缺失值在不完整数据元组中位置、可能的取值。
Map<Object,Text,Text,Text>
Input:key=offset,value=missingindex+combi-attri
1.FOR each<key,value>DO
Split the value
2.Outkey:missingindex
Outvalue:combi-attri
Map<Object,Text,Text,Text>
Input:key=offset,value=missingindex+pro-v
1.FOR each<key,value>DO
Split the value
2.Outkey:missingindex
Outvalaue:pro-v
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
2.Outkey:offset
Outvalue:combi-attri+missingindex+pro-v
阶段3中pro-v是缺失值可能的取值,第一个Map会将步模块1的结果文件每行数据进行分割,missingindex作为key值,combi-attri作为value值,提交给Reduce。第二个Map将缺失值可能的取值文件每行数据进行分割missingindex作为key值,pro-v作为value值,同样提交给Reduce,相同key值的value将被放在同一个valuelist中,Reduce将把缺失数据的相关属性组合combi-attri和可能的取值pro-v进行连接,最后输出的数据格式为(combi-attri,missingindex,pro-v)。
阶段4、估算缺失值可能的取值
输入:阶段2中模块3结果文件CAacount、阶段2中模块4结果文件CA-Aacount、阶段3结果文件。
输出:缺失数据的估计值。
Map<Object,Text,Text,Text>
Input:key=offset,value=missingindex+combi-attri+pro-v
1.FOR each<key,value>DO
Split the value
2.Research acount of combi-attri in CAacount recorded as num-combi-attri
3.Research acount of combi-attri+pro-v in CA-Aacount recorded asnum-combi-attri-a
4.Calculation num-combi-attri-a/num-combi-attri as credibility
5.Outkey:tupleindex+missingindex
Outvalue:credibility+pro-v
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
Sum of credibility
2.IF sum of credibility is maximum THEN
Outkey:offset
Outvalue:pro-v
阶段4是算法的核心部分,将利用其来估算缺失值取值,Map函数首先将阶段3的结果文件的每行数据进行分割,在文件CAacount中查找缺失数据相关属性值组合combi-attri的个数num-combi-attri,作为S(combi-attri)。在文件CA-Aacount中查找缺失数据相关属性值组合和缺失值可能取值combi-attri+pro-v同时出现在同一个数据元组中得个数num-combi-attri-a,作为S(combi-attri∪pro-v)。并且计算得到缺失数据可能取值的可信度credibility,Reduce函数将估算缺失值的所有可信度证据相加,并将证据之和最大值的缺失值可能取值pro-v作为最终的填充值。
阶段5:将阶段4的缺失值估计的取值填充到原缺失数据集中
输入:原缺失数据集文件、阶段4缺失值估计的取值文件。
输出:完整数据集。
Map<Object,Text,Text,Text>
Input:key=offset,value=tuple
1.FOR each<key,value>DO
2.Outkey:offset
Outvalue:value
Map<Object,Text,Text,Text>
Input:key=offset,value=missingindex+pro-v
1.FOR each<key,value>DO
2.Outkey:offset
Outvalaue:missingindex+pro-v
Reduce<Text,Text,Text,Text>
1.FOR each in valuelist DO
missingindex+pro-v in listA
2.FOR each in ListA DO
pro-v append to value
3.Outkey:key
Outvalue:com-tuple
在阶段5中,Map函数将原缺失数据集文件和缺失值估计的取值文件的offset作为key输出,将原缺失数据集的value和缺失值估计的取值文件的“Missing+Possiblevalue”作为value值输出,reduce函数在每个valuelist中将“missingindex+pro-v”存放在listA中,并将ListA中所有的估计值填充到缺失数据集的value中,最终输出完整数据元组com-tuple。
实施例:该数据集中有4个属性分别为:性别、身高、是否抽烟、学习成绩。?表示缺失的数据。
性别 | 身高 | 是否抽烟 | 学习成绩 |
男 | 高 | 是 | 好 |
女 | 高 | 是 | 差 |
男 | 矮 | 否 | 差 |
女 | 高 | 否 | 好 |
男 | 矮 | 否 | ? |
女 | ? | 否 | 好 |
阶段1:
第五元组第四个属性缺失
第六元组第2个属性缺失
结果文件:5,4,[男,矮,否,?]
6,2,[女,?,否,好],[]表示元组。
阶段2:
模块1:
结果文件:5,4,{<男>,<矮>,<否>,<男矮>,<男否>,<矮否>,<男矮否>}
6,2,{<女>,<否>,<好>,<女否>,<女好>,<否好>,<女否好>}
{}表示集合。
模块2:
结果文件:1,男:50%,女:50%
2,高:50%,矮:33%
3,是33%,否:67%
4,好:50%,差:33%
输出了属性位置,以及每个属性值取值概率。模块3:
结果文件:<男>:3
<女>:3
<高>:3
<矮>:2
<是>:2
<否>:4
<好>:3
<差>:2
<男高>:1
<男矮>:2
<男是>:1
<男否>:2
<男好>:1
<高是>:2
<高好>:2
<矮是>:0
<矮好>:0
<是好>:1
<男高是>:1
<男高好>:1
<男是好>:1
<男高是好>:1……
模块4:
以第一个数据元组为例:
结果:1,男,<高>,1
1,男,<是>,1
1,男,<好>,1
1,男,<高是>,1
1,男,<高好>,1
1,男,<是好>,1
1,男,<高是好>,1……
阶段3:
以其中一个数据元组为例:
根据缺失位置4,将阶段2模块1的记录5,4,{<男>,<矮>,<否>,<男矮>,<男否>,<矮否>,<男矮否>}与阶段2模块2的记录4,好:50%,差:33%进行连接。
得到记录:
5,好:50%,差:50%,{<男>,<矮>,<否>,<男矮>,<男否>,<矮否>,<男矮否>}
然后算法将刚才记录中的Sj中每个非缺失数据的组合C(y,u)与缺失数据可能的取值p进行连接。
最终结果输出:
<男>,4,好:50%+<矮>,4,好:50%+<否>,4,好:50%+<男矮>,4,好:50%+<男否>,4,好:50%+<矮否>,4,好:50%+<男矮否>,4,好:50%+<男>,4,差:33%+<矮>,4,差:33%+<否>,4,差:33%+<男矮>,4,差:33%+<男否>,4,差:33%+<矮否>,4,差:33%+<男矮否>,4,差:33%
阶段4:
算法去阶段2模块3的结果文件里查找阶段3结果文件中某个不完整数据元组中非缺失数据的组合C(y,u)的数量Oj。
结果:<男>数量为3
<矮>数量为2
<否>数量为4
<男矮>数量为2
<男否>数量为2
<矮否>数量为2
<男矮否>数量为2
并在阶段2中模块4的结果文件中查找阶段3结果文件中某个不完整数据元组中非缺失数据的组合C(y,u)和缺失数据的可能的取值p在整个数据集同时出现的次数Tj。
结果:好,<男>数量为1
好,<矮>数量为0
好,<否>数量为2
好,<男矮>数量为0
好,<男否>数量为0
好,<矮否>数量为0
好,<男矮否>数量为0
差,<男>数量为1
差,<矮>数量为1
差,<否>数量为1
差,<男矮>数量为1
差,<男否>数量为1
差,<矮否>数量为1
差,<男矮否>数量为1
F(<男>,<矮>,<否>,<男矮>,<男否>,<矮否>,<男矮否好)=1/3+0/2+2/4+0/2+0/2+0/2+0/2+50%=1.33
F(<男>,<矮>,<否>,<男矮>,<男否>,<矮否>,<男矮否差)=1/3+1/2+1/4+1/2+1/2+1/2+1/2+33%=3.41
阶段5:取最大值所以第五元组第四个属性缺失数据的填充值为“差”。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (5)
1.一种面向大数据的信息补全方法,其特征在于,包括如下步骤:
步骤1,令数据集为D,D有m行n列数据,每一行为一个数据元组,每一列为一个属性,扫描数据集的每个数据元组Dj,j=1,…,m并编号,找出其中的不完整数据元组以及不完整数据元组中缺失数据的位置;
步骤2,将不完整数据元组中的其他非缺失数据进行组合,得到该不完整数据元组中非缺失数据组合的集合,作为估计缺失数据取值的证据链;
步骤3,根据完整数据元组对应缺失位置的非缺失数据,得到缺失数据可能的取值,计算缺失数据可能的取值p的概率;
步骤4,根据步骤1缺失数据的位置,将步骤2得到的非缺失数据组合的集合与步骤3得到的缺失数据可能的取值进行连接,再将集合中各个非缺失数据组合与缺失数据可能的取值进行连接;
步骤5,对整个数据集中的非缺失数据进行组合,统计每个组合出现的次数;
步骤6,对每个数据元组,选择其中一个属性值,将该数据元组中剩余属性进行组合,得到组合的集合,统计集合中每个组合与所选取的属性值在整个数据集中同时出现的次数;
步骤7,在步骤5的结果中提取各不完整数据元组中每个非缺失数据组合在整个数据集中的数量,在步骤6的结果中提取各不完整数据元组中非缺失数据组合与缺失数据可能的取值同时出现的次数,计算不完整数据元组中缺失数据可能的取值在其非缺失数据组合条件下取值的概率,将概率最大值对应的取值作为缺失数据的填充值。
2.根据权利要求1所述面向大数据的信息补全方法,其特征在于,步骤3所述缺失数据可能的取值p的概率的计算公式为:
其中,m为所有数据元组的数量,K(p)为缺失数据可能的取值p在每个数据元组中同一缺失位置出现的次数,P(p)为缺失数据可能的取值p的概率。
3.根据权利要求1所述面向大数据的信息补全方法,其特征在于,步骤7所述计算不完整数据元组中缺失数据可能的取值在其非缺失数据组合条件下取值的概率的计算公式为:
其中,P(p)为缺失数据可能的取值p的概率,S(p∪C(y,u))为不完整数据元组中非缺失数据组合C(y,u)与缺失数据可能的取值同时出现的次数,S(C(y,u))为不完整数据元组中每个非缺失数据组合在整个数据集中的数量,为缺失数据可能的取值的证据链Sj的可信度即概率,Sj为编号为j的不完整数据元组缺失数据的证据链。
4.根据权利要求1所述面向大数据的信息补全方法,其特征在于,所述步骤2、步骤3没有顺序限制。
5.根据权利要求1所述面向大数据的信息补全方法,其特征在于,所述步骤5、步骤6没有顺序限制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710156391.XA CN106919719A (zh) | 2017-03-16 | 2017-03-16 | 一种面向大数据的信息补全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710156391.XA CN106919719A (zh) | 2017-03-16 | 2017-03-16 | 一种面向大数据的信息补全方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106919719A true CN106919719A (zh) | 2017-07-04 |
Family
ID=59460304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710156391.XA Pending CN106919719A (zh) | 2017-03-16 | 2017-03-16 | 一种面向大数据的信息补全方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106919719A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766294A (zh) * | 2017-10-31 | 2018-03-06 | 北京金风科创风电设备有限公司 | 缺失数据的恢复方法和装置 |
CN107958027A (zh) * | 2017-11-16 | 2018-04-24 | 南京邮电大学 | 一种具有QoS保障的传感网数据获取方法 |
CN110413658A (zh) * | 2019-07-23 | 2019-11-05 | 中经柏诚科技(北京)有限责任公司 | 一种基于关联规则的事实证据链构建方法 |
US20200278471A1 (en) * | 2017-09-12 | 2020-09-03 | Schlumberger Technology Corporation | Dynamic representation of exploration and/or production entity relationships |
CN111737463A (zh) * | 2020-06-04 | 2020-10-02 | 江苏名通信息科技有限公司 | 大数据缺失值填充方法、装置和计算机程序 |
CN116578557A (zh) * | 2023-03-03 | 2023-08-11 | 齐鲁工业大学(山东省科学院) | 面向数据中台的缺失数据填充方法 |
-
2017
- 2017-03-16 CN CN201710156391.XA patent/CN106919719A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200278471A1 (en) * | 2017-09-12 | 2020-09-03 | Schlumberger Technology Corporation | Dynamic representation of exploration and/or production entity relationships |
US11619761B2 (en) * | 2017-09-12 | 2023-04-04 | Schlumberger Technology Corporation | Dynamic representation of exploration and/or production entity relationships |
CN107766294A (zh) * | 2017-10-31 | 2018-03-06 | 北京金风科创风电设备有限公司 | 缺失数据的恢复方法和装置 |
CN107958027A (zh) * | 2017-11-16 | 2018-04-24 | 南京邮电大学 | 一种具有QoS保障的传感网数据获取方法 |
CN110413658A (zh) * | 2019-07-23 | 2019-11-05 | 中经柏诚科技(北京)有限责任公司 | 一种基于关联规则的事实证据链构建方法 |
CN111737463A (zh) * | 2020-06-04 | 2020-10-02 | 江苏名通信息科技有限公司 | 大数据缺失值填充方法、装置和计算机程序 |
CN111737463B (zh) * | 2020-06-04 | 2024-02-09 | 江苏名通信息科技有限公司 | 大数据缺失值填充方法、装置和计算机可读存储器 |
CN116578557A (zh) * | 2023-03-03 | 2023-08-11 | 齐鲁工业大学(山东省科学院) | 面向数据中台的缺失数据填充方法 |
CN116578557B (zh) * | 2023-03-03 | 2024-04-02 | 齐鲁工业大学(山东省科学院) | 面向数据中台的缺失数据填充方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919719A (zh) | 一种面向大数据的信息补全方法 | |
CN107220277A (zh) | 基于手绘草图的图像检索算法 | |
CN106844781B (zh) | 数据处理的方法及装置 | |
CN102722531B (zh) | 一种云环境中基于分片位图索引的查询方法 | |
CN106919957B (zh) | 处理数据的方法及装置 | |
CN105956015A (zh) | 一种基于大数据的服务平台整合方法 | |
CN115145906B (zh) | 一种面向结构化数据的预处理和补全方法 | |
CN109359172A (zh) | 一种基于图划分的实体对齐优化方法 | |
CN107004141A (zh) | 对大样本组的高效标注 | |
CN105320764A (zh) | 一种基于增量慢特征的3d模型检索方法及其检索装置 | |
CN110888859B (zh) | 一种基于组合深度神经网络的连接基数估计方法 | |
CN104008420A (zh) | 一种基于自动编码机的分布式离群点检测方法及*** | |
CN107844548A (zh) | 一种数据标签方法和装置 | |
CN102902826A (zh) | 一种基于基准图像索引的图像快速检索方法 | |
CN109325062A (zh) | 一种基于分布式计算的数据依赖挖掘方法及*** | |
CN110533316A (zh) | 一种基于大数据的产品生命周期分析方法、***及存储介质 | |
CN114817575B (zh) | 基于扩展模型的大规模电力事理图谱处理方法 | |
CN103678513B (zh) | 一种交互式的检索式生成方法及*** | |
CN109472343A (zh) | 一种基于gknn的改进样本数据缺失值的填补算法 | |
CN103744958B (zh) | 一种基于分布式计算的网页分类方法 | |
CN107451617A (zh) | 一种图转导半监督分类方法 | |
CN103020319A (zh) | 一种实时移动空间关键字近似Top-k查询方法 | |
Bannister et al. | Windows into geometric events: Data structures for time-windowed querying of temporal point sets | |
CN104794237A (zh) | 网页信息处理方法及装置 | |
CN107452001A (zh) | 一种基于改进fcm算法的遥感图像序列分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170704 |
|
RJ01 | Rejection of invention patent application after publication |