CN103077181A - 一种自动生成近似函数依赖规则的方法 - Google Patents
一种自动生成近似函数依赖规则的方法 Download PDFInfo
- Publication number
- CN103077181A CN103077181A CN2012104717936A CN201210471793A CN103077181A CN 103077181 A CN103077181 A CN 103077181A CN 2012104717936 A CN2012104717936 A CN 2012104717936A CN 201210471793 A CN201210471793 A CN 201210471793A CN 103077181 A CN103077181 A CN 103077181A
- Authority
- CN
- China
- Prior art keywords
- freesetcol
- rule
- col
- row
- approximate functional
- 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.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种自动生成近似函数依赖规则的方法,所述自动生成近似函数依赖规则的方法包含以下几个步骤:步骤S100:对数据库r的所有列进行扫描分析,生成候选列R,并构建所述候选列R各列的分区P(R);步骤S200:对所述候选列R按照一定的顺序排序,采用策略搜索出所有满足条件的规则左部;步骤S300:对所述策略搜索的搜索空间,采用修剪规则进行修剪,压缩所述策略搜索的搜索空间;步骤S400:对所述压缩的搜索空间进行计算并生成近似函数依赖规则的右部,同时生成近似函数依赖规则。本发明可自动挖掘、生成近似函数依赖规则,挖掘与生成的效率较高。
Description
一、技术领域
本发明涉及到一种数据库的处理方法,尤其涉及到一种自动生成近似函数依赖规则的方法。
二、背景技术
随着社交网络、移动计算和传感器等新的渠道和技术不断涌现,大量新型数据应运而生。我们生活在一个数据成指数式急剧增的时代,常规技术已经难以应对PB(1024TB)级的大规模数据量。
分析调研机构IDC在其发布的数字宇宙研究报告(Digital Universe Study)——《从混沌中提取价值》(Extracting Value from Chaos)中指出,全球信息总量每过两年,就会增长一倍。2011年,全球被创建和被复制的数据总量为1.8ZB。相较2010年同期,这一数据上涨了超过1ZB。在被创建的信息数据总量中,有75%来自于个人,这包括文字、图片、视频和音乐。这些个人数据的蔓延增速要比数据的创建速度更加迅猛。不过,在报告中IDC同时也认为,企业级的应用数据有朝一日将会占据数据总量的80%。
如何从这些***式增长的数据量中,收集、存储和发掘利用海量数据以获取洞见,为世界经济创造巨大的价值,是人们急需面对的一个难题。麦肯锡全球研究院在它的《海量数据:创新、竞争和提高生产率的下一个新领域》报告中预测,擅用海量数据产生价值的行业巨头战胜不擅利用海量数据的对手,已经越来越成为了显性的趋势。
在当前海量数据环境下或者大数据时代,怎样快速的找出数据之间的规则,分析、挖掘数据的规律,为企业决策者提供建设性的建议,是IT技术人员需要考虑的问题。本发明正是在此背景之下,针对海量数据,提出的一种新的、适用海量数据环境的一种自动生成近似函数依赖规则的方法。
三、发明内容
为了实现本发明目的,本发明提供一种自动生成近似函数依赖规则的方法。所述自动生成近似函数依赖规则的方法包含以下几个步骤:步骤S100:对数据库r的所有列进行扫描分析,生成候选列R,并构建所述候选列R各列的分区P(R);步骤S200:对所述候选列R按照一定的顺序排序,采用策略搜索出所有满足条件的规则左部;步骤S300:对所述策略搜索的搜索空间,采用修剪规则进行修剪,压缩所述策略搜索的搜索空间;步骤S400:对所述压缩的搜索空间进行计算并生成近似函数依赖规则的右部,同时生成近似函数依赖规则。
应当理解,以上总体说明和以下详细说明都是说明性和实例性的,旨在提供对所要求的本发明的进一步说明。
四、附图说明
所包含的附图用于提供对本发明的进一步理解,其被并入说明书并构成其一部分,附图说明了本发明的实施例,并与说明书一起用于理解本发明的原理。
图1是本发明一种自动生成近似函数依赖规则的方法流程图。。
图2是本发明较佳实施例的计算生成近似函数依赖规则的右部的方法流程图。
图3是本发明较佳实施例的计算当前freesetCol的闭集closedCol和候选子集candidates方法流程图。
图4是本发明较佳实施例的逆序遍历候选子集candidates方法流程图。
图5是本发明较佳实施例的递增策略搜索结构图。
五、具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
相关概念和定义
函数依赖(functional dependency,简称FD):是指关系数据库中列与列之间的关系,其含义为一个列的值由其他某些列的值唯一确定,比如:一数据库中,邮政编码是由城市和街道地址决定的。
考虑数据库r,定义r中所有列的集合为R,函数依赖可描述为:X→A,其中A∈R对r中的所有数据组合t和u,当对所有的B∈X都有t[B]=u[B]时,t[A]=u[A],则称函数依赖X→A在r上成立。即如果在数据库r中,X列的值相同时,A的值也相同,则X→A成立。
对于X→A,如果不存在一个X的子集Y,使得Y→A成立,则称函数依赖X→A是最小的,或称Y→A是冗余的。如果A∈X,则X→A是没有意义的。函数依赖挖掘的中心任务是从数据库中挖掘出所有非冗余的且有意义的规则。
近似函数依赖:是指函数依赖X→A近似成立。比如一个人姓名中的名通常决定了性别。近似函数依赖评价标准有多种,最常用的是依据从数据库r最少删除多少行后X→A成立。我们在此定义近似函数依赖X→A的误差为需要最少删除的行数比上数据总行数,即
分区(Partition):通常使用分区来定义和计算函数依赖关系,考虑两个元组t和u,对于列集X,如果对所有的B∈X都有t[B]=u[B],则称t和u关于X是相等的。通过将相同的元组存贮在一个块c内构成X的分区:P(X)={c1,c2,c3...cn}。
如考虑以下表格中的3列数据:
表一.分区数据源表
元组id | A | B | C |
1 | 1 | A | X |
2 | 1 | B | X |
3 | 1 | B | X |
4 | 2 | B | Y |
5 | 2 | B | Y |
6 | 2 | C | Y |
7 | 3 | C | X |
8 | 3 | D | X |
9 | 3 | D | X |
可以求出:
P(A)={{1,2,3},{4,5,6},{7,8,9}}
P(B)={{1},{2,3,4,5},{6,7},{8,9}}
P(C)={{1,2,3,7,8,9},{4,5,6}}
P(AB)={{1},{2,3},{4,5},{6},{7},{8,9}}
P(AC)={{1,2,3},{4,5,6},{7,8,9}}等等。
根据函数依赖定义我们有:函数依赖X→A成立当且仅当P(X)=P(X∪A)。
根据分区,近似函数依赖的误差可定义为:
闭集(closedset):一个列集X是闭集当且仅当不存在一个X的超集Y使得P(Y)=P(X)。
一个列集是闭集也称这个列集是闭的。任一列集X对应的闭集用C(X)表示:
C(X)=X∪{A|A∈R\X,P(X∪A)=P(X)}。
δ-闭集:一个项集X是δ闭集当且仅当不存在一个X的超集Y使得其e(X→A)<δ,A∈Y\X。X的δ闭集用C(X,δ)表示。通常δ是个接近1的数。
freeset:一个项集X是freeset当且仅当不存在一个X的子集Y使得P(Y)=P(X)。
按freeset的定义,我们可以推导出:
性质1:任何一个freeset的子集也一定是freeset;
性质2:任何一个非freeset的超集也是非freeset;
δ-freeset:一个项集X是δ-freeset当且仅当不存在一个X的子集Y使得e(Y→A)<δ,A∈X\Y。
自动生成近似函数依赖规则
依据上述概念和定义,给定最小置信度c,本发明提供一种自动生成近似函数依赖规则的方法,所述方法将从数据库r中挖掘出所有非冗余的近似函数依赖规则X→A,满足e(X→A)<δ,其中X为δ-freeset,A∈C(X,δ)\X,δ=1-c。如图1所示,一种自动生成近似函数依赖规则的方法,包含以下几个步骤:
步骤S100:对数据库r的所有列进行扫描分析,生成候选列R,并构建所述候选列R各列的分区P(R);
步骤S200:对所述候选列R按照一定的顺序排序,采用策略搜索出所有满足条件的规则左部;所述的一定顺序排序可为候选列R在数据库中顺序排序;所述的策略搜索可为逆序递增搜索。
为了说明上述递增的策略搜索的方式,以一种树型结构来举例说明我们的列搜索顺序,如考虑有ABCD四列。我们将从空集出发,依次访问D,C,CD,B,BD,BC...,即按从右到左、从上到下的顺序搜索。如图5本发明较佳实施例的递增策略搜索结构图所示。
步骤S300:对所述策略搜索的搜索空间,采用修剪规则进行修剪,压缩所述策略搜索的搜索空间;所述的修剪规则可包含2种修剪规则。
简单的逆序递增搜索策略计算量将会相当的大,计算量与列的数量成指数关系,我们可采用一定的策略来压缩搜索空间,即对搜索树进行剪枝。我们定义了2种修剪规则,如下:
1.freeset:按定义,规则的左部必须为freeset,若存在一规则X→A,则(X∪A)为非freeset,而根据freeset的性质2,任何非freeset的超集都是非freeset,故(X∪A)及其下面的树枝都可以剪掉。如存在一规则B→A,则AB为非freeset,故AB及其所有超集都可以剪掉,如ABC,ABD,ABCD等。
2.冗余规则:若存在一规则X→A,X的所有超集下的Y枝点都是冗余的。如存在一规则B→D,则B的超集下的所有D枝点都可以剪掉,如ABD,BCD,ABCD等。
步骤S400:对所述压缩的搜索空间进行计算并生成近似函数依赖规则的右部,同时生成近似函数依赖规则。
计算生成近似函数依赖规则的右部的方法
步骤S401:初始化规则左部freesetCol,闭集closureCol,以及所述freesetCol对应的分区P(freesetCol);
步骤S402:根据修剪规则进行修剪,将剪去的列更新到closureCol,已修剪的列更新到freesetCol;所述的修剪规则可包含2种修剪规则。我们定义了2种修剪规则,如下:
1.freeset:按定义,规则的左部必须为freeset,若存在一规则X→A,则(X∪A)为非freeset,而根据freeset的性质2,任何非freeset的超集都是非freeset,故(X∪A)及其下面的树枝都可以剪掉。如存在一规则B→A,则AB为非freeset,故AB及其所有超集都可以剪掉,如ABC,ABD,ABCD等。
2.冗余规则:若存在一规则X→A,X的所有超集下的Y枝点都是冗余的。如存在一规则B→D,则B的超集下的所有D枝点都可以剪掉,如ABD,BCD,ABCD等。
步骤S403:若所述freesetCol为非freeset,转到步骤S408;
步骤S404:根据所述closureCol计算候选列集availableCol;
步骤S405:在所述候选列集availableCol中,计算当前freesetCol的闭集closedCol和候选子集candidates;
步骤S406:若所述closedCol为非空,则对所述closedCol中的每一个列col,生成近似函数依赖规则freesetCol→col并保存;
步骤S407:逆序遍历所述候选子集candidates,并转到步骤S401;
步骤S408:结束。
计算当前freesetCol的闭集closedCol和候选子集candidates的方法
步骤S4051:逆序遍历所述availableCol的列col是否结束,倘若结束则直接转到步骤S4057;
步骤S4052:计算P(freesetCol∪col),并同时计算e(freesetCol→col);
步骤S4053:判断e(freesetCol→col)<(1-c);
步骤S4054:若e(freesetCol→col)<(1-c),将col添加到closedCol,更新所述closureCol,并转到步骤S4051;
步骤S4055:判断所述col大于所述freesetCol中最大的列;
步骤S4056:若所述col大于所述freesetCol中最大的列,将col,P(freesetCol∪col)信息保存到所述候选集candidates,并转到步骤S4051;若所述col小于所述freesetCol中最大的列,则直接转到步骤S4051;
步骤S4057:结束。
逆序遍历候选子集candidates的方法
步骤S4071:逆序遍历所述候选子集candidates的列col是否结束;
步骤S4072:未结束,则将col更新到所述freesetCol和closureCol;
步骤S4073:从所述候选子集candidates中取出col对应于的分区P(freesetCol∪col),并设置为当前分区:P(freesetCol)=P(freesetCol∪col),转到步骤S401;
步骤S4074:遍历下一col前,回退freesetCol和closureCol到遍历前的状态;
步骤S4075:结束。
Claims (8)
1.一种自动生成近似函数依赖规则的方法,其特征在于:所述一种自动生成近似函数依赖规则的方法包含以下几个步骤:
步骤S100:对数据库r的所有列进行扫描分析,生成候选列R,并构建所述候选列R各列的分区P(R);
步骤S200:对所述候选列R按照一定的顺序排序,采用策略搜索出所有满足条件的规则左部;
步骤S300:对所述策略搜索的搜索空间,采用修剪规则进行修剪,压缩所述策略搜索的搜索空间;
步骤S400:对所述压缩的搜索空间进行计算并生成近似函数依赖规则的右部,同时生成近似函数依赖规则。
2.如权利要求1所述的一种自动生成近似函数依赖规则的方法,其特征在于:所述数据库r为给定最小置信度C。
3.如权利要求1所述的一种自动生成近似函数依赖规则的方法,其特征在于:步骤S200中所述的一定顺序排序可为候选列R在数据库中顺序排序。
4.如权利要求1所述的一种自动生成近似函数依赖规则的方法,其特征在于:步骤S200中所述的策略搜索可为逆序递增搜索。
5.如权利要求1所述的一种自动生成近似函数依赖规则的方法,其特征在于:步骤S400中所述的计算生成近似函数依赖规则的右部,同时生成近似函数依赖规则,包含以下几个步骤:
步骤S401:初始化规则左部freesetCol,闭集closureCol,以及所述freesetCol对应的分区P(freesetCo1);
步骤S402:根据修剪规则进行修剪,将剪去的列更新到closureCol,已修剪的列更新到freesetCol;
步骤S403:若所述freesetCol为非freeset,转到步骤S408;
步骤S404:根据所述closureCol计算候选列集availableCol;
步骤S405:在所述候选列集availableCol中,计算当前freesetCol的闭集closedCol和候选子集candidates;
步骤S406:若所述closedCol为非空,则对所述closedCol中的每一个列col,生成近似函数依赖规则freesetCol→col并保存;
步骤S407:逆序遍历所述候选子集candidates,并转到步骤S401;
步骤S408:结束。
6.如权利要求1或5所述的一种自动生成近似函数依赖规则的方法,其特征在于:所述的修剪规则可包含2种修剪规则。
7.如权利要求5所述的一种自动生成近似函数依赖规则的方法,其特征在于:步骤S405所述的计算当前freesetCol的闭集closedCol和候选子集candidates,包含以下几个步骤:
步骤S4051:逆序遍历所述availableCol的列col是否结束,倘若结束则直接转到步骤S4057;
步骤S4052:计算P(freesetCol∪col),并同时计算e(freesetCol→col);
步骤S4053:判断e(freesetCol→col)<(1-c);
步骤S4054:若e(freesetCol→col)<(1-c),将col添加到closedCol,更新所述closureCol,并转到步骤S4051;
步骤S4055:判断所述col大于所述freesetCol中最大的列;
步骤S4056:若所述col大于所述freesetCol中最大的列,将col,P(freesetCol∪col)信息保存到所述候选集candidates,并转到步骤S4051;若所述col小于所述freesetCol中最大的列,则直接转到步骤S4051;
步骤S4057:结束。
8.如权利要求5所述的一种自动生成近似函数依赖规则的方法,其特征在于:步骤S407所述的逆序遍历候选子集candidates,包含以下几个步骤:
步骤S4071:逆序遍历所述候选子集candidates的列col是否结束;
步骤S4072:未结束,则将col更新到所述freesetCol和closureCol;
步骤S4073:从所述候选子集candidates中取出col对应于的分区P(freesetCol∪col),并设置为当前分区:P(freesetCol)=P(freesetCol∪col),转到步骤S401;
步骤S4074:遍历下一col前,回退freesetCol和closureCol到遍历前的状态;
步骤S4075:结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210471793.6A CN103077181B (zh) | 2012-11-20 | 2012-11-20 | 一种自动生成近似函数依赖规则的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210471793.6A CN103077181B (zh) | 2012-11-20 | 2012-11-20 | 一种自动生成近似函数依赖规则的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077181A true CN103077181A (zh) | 2013-05-01 |
CN103077181B CN103077181B (zh) | 2017-02-08 |
Family
ID=48153711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210471793.6A Active CN103077181B (zh) | 2012-11-20 | 2012-11-20 | 一种自动生成近似函数依赖规则的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077181B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699761A (zh) * | 2015-02-11 | 2015-06-10 | 暨南大学 | 一种最小函数依赖的增量计算方法 |
CN106844338A (zh) * | 2017-01-03 | 2017-06-13 | 北京交通大学 | 基于属性间依赖关系的网络表格的实体列的检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751406A (zh) * | 2008-12-18 | 2010-06-23 | 赵伟 | 一种实现基于列存储的关系型数据库的方法及装置 |
US20100250596A1 (en) * | 2009-03-26 | 2010-09-30 | Wenfei Fan | Methods and Apparatus for Identifying Conditional Functional Dependencies |
CN102063490A (zh) * | 2010-12-20 | 2011-05-18 | 大唐移动通信设备有限公司 | 一种数据库分区方法和分区装置 |
US20110137876A1 (en) * | 2009-12-07 | 2011-06-09 | Yeh Peter Zei-Chan | Data quality enhancement for smart grid applications |
CN102156714A (zh) * | 2011-03-22 | 2011-08-17 | 清华大学 | 实现自适应垂直划分的关系型数据库的方法及*** |
-
2012
- 2012-11-20 CN CN201210471793.6A patent/CN103077181B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751406A (zh) * | 2008-12-18 | 2010-06-23 | 赵伟 | 一种实现基于列存储的关系型数据库的方法及装置 |
US20100250596A1 (en) * | 2009-03-26 | 2010-09-30 | Wenfei Fan | Methods and Apparatus for Identifying Conditional Functional Dependencies |
US20110137876A1 (en) * | 2009-12-07 | 2011-06-09 | Yeh Peter Zei-Chan | Data quality enhancement for smart grid applications |
CN102063490A (zh) * | 2010-12-20 | 2011-05-18 | 大唐移动通信设备有限公司 | 一种数据库分区方法和分区装置 |
CN102156714A (zh) * | 2011-03-22 | 2011-08-17 | 清华大学 | 实现自适应垂直划分的关系型数据库的方法及*** |
Non-Patent Citations (3)
Title |
---|
侯林娇 等: "基于近似函数依赖的批处理模式挖掘方法研究", 《湖南科技大学学报(自然科学版)》, vol. 26, no. 2, 30 June 2011 (2011-06-30), pages 84 - 87 * |
张红梅: "数据挖掘中快速关联规则发现算法研究及应用", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》, no. 02, 15 December 2002 (2002-12-15), pages 138 - 356 * |
张霄雁 等: "基于近似函数依赖的关系数据属性权重评估方法", 《计算机科学》, vol. 40, no. 2, 28 February 2013 (2013-02-28), pages 172 - 176 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699761A (zh) * | 2015-02-11 | 2015-06-10 | 暨南大学 | 一种最小函数依赖的增量计算方法 |
CN104699761B (zh) * | 2015-02-11 | 2017-11-21 | 暨南大学 | 一种最小函数依赖的增量计算方法 |
CN106844338A (zh) * | 2017-01-03 | 2017-06-13 | 北京交通大学 | 基于属性间依赖关系的网络表格的实体列的检测方法 |
CN106844338B (zh) * | 2017-01-03 | 2019-12-10 | 北京交通大学 | 基于属性间依赖关系的网络表格的实体列的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103077181B (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335519B (zh) | 模型生成方法及装置、推荐方法及装置 | |
CN104281652B (zh) | 度量空间中逐个支撑点数据划分方法 | |
CN105095249B (zh) | 一种生成多维度报表的方法 | |
CN1860489A (zh) | 使用最小阻力路径来特征化储层模型中的连通性 | |
CN104737166A (zh) | 数据沿袭*** | |
CN104166651A (zh) | 基于对同类数据对象整合的数据搜索的方法和装置 | |
CN103778227A (zh) | 从检索图像中筛选有用图像的方法 | |
CN104182527B (zh) | 基于偏序项集的中英文本词间关联规则挖掘方法及其*** | |
CN103827852B (zh) | 在搜索引擎结果页面上聚集web页面 | |
CN103226618A (zh) | 基于数据集市挖掘的相关词提取方法及*** | |
CN109308303B (zh) | 一种基于马尔可夫链的多表连接在线聚集方法 | |
CN111861185B (zh) | 一种基于任务树的任务智能推荐方法及装置 | |
US20170116268A1 (en) | Extending relational algebra for data management | |
CN105095188B (zh) | 句子相似度计算方法及装置 | |
CN102867065B (zh) | 基于关系型数据库的数据汇总装置和方法 | |
CN104903753A (zh) | 自动匹配群体新成员与类似成员的***、方法及程序产品 | |
CN103077181A (zh) | 一种自动生成近似函数依赖规则的方法 | |
CN105488195A (zh) | 一种基于层次结构子话题的搜索结果多样化排序方法 | |
CN105354339B (zh) | 基于上下文的内容个性化提供方法 | |
CN103324707A (zh) | 一种基于半监督聚类的查询扩展方法 | |
CN105824936A (zh) | 一种基于概念格的信息提取方法 | |
CN102254034A (zh) | 一种基于bide的olap查询日志挖掘及推荐方法 | |
CN105528404A (zh) | 种子关键字字典建立方法和装置及关键词提取方法和装置 | |
CN104765762A (zh) | 自动挖掘配伍关系***及其方法 | |
CN107657269A (zh) | 一种用于训练图片提纯模型的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 518057 2203/2204, Building 1, Huide Building, North Station Community, Minzhi Street, Longhua District, Shenzhen, Guangdong Province Patentee after: SHENZHEN AUDAQUE DATA TECHNOLOGY Ltd. Address before: Room 713, 7/F, Software Building, No. 9, High-tech Middle Road, Central District, Shenzhen, Guangdong 518057 Patentee before: SHENZHEN AUDAQUE DATA TECHNOLOGY Ltd. |
|
CP02 | Change in the address of a patent holder |