CN107908711A - 基于垂直数据分布的稠密数据库快速关联规则挖掘方法 - Google Patents
基于垂直数据分布的稠密数据库快速关联规则挖掘方法 Download PDFInfo
- Publication number
- CN107908711A CN107908711A CN201711100787.9A CN201711100787A CN107908711A CN 107908711 A CN107908711 A CN 107908711A CN 201711100787 A CN201711100787 A CN 201711100787A CN 107908711 A CN107908711 A CN 107908711A
- Authority
- CN
- China
- Prior art keywords
- collection
- item
- item collection
- support
- pxy
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及基于垂直数据分布的稠密数据库快速关联规则挖掘方法,1.设项集集合为I,对给定事务数据库T={t1,...,tn},记D为T的集合,对应每一个事务t1,...,tn有唯一的标识TID;2.利用DAG结构替代CARMA算法中的lattice结构存储项集和项集附加信息,每个项集存储于Q中的单个节点,并与其前两个子集的结点相连;3.令T(X)代表项集X的tidlist,d(X)代表X的diffset;4.得到包含所有频繁项集的超集结构Q;5.采用CARMA算法的前向剪枝技术对Q中满足条件的项集修剪,直到Q中没有多余频繁项集则扫描终止。本发明结合划分和diffset概念,弥补了传统垂直算法对大型稠密数据库挖掘能力的不足,整体上提高了频繁项集的计算效率,减轻了磁盘I/O读取开销。
Description
技术领域
本发明属于数据库快速关联规则挖掘技术领域,具体涉及一种基于垂直数据分布的稠密数据库快速关联规则挖掘方法。
背景技术
关联规则是数据挖掘的一个重要研究方向。近年来,随着商业和科学数据库急剧增长及存储设备不断升级,大型事务数据库的关联规则挖掘成为数据挖掘领域中一个非常重要的研究课题。
经典的数据库关联规则挖掘算法主要包括:DHP算法、DIC算法等。但这些算法在对大型数据库进行关联规则挖掘过程中,通常无法将驻留磁盘的数据一次性读入内存,造成大量的磁盘I/O操作和严重的CPU开销。尽管基于关联规则算法改进的各种水平挖掘算法对于频繁模式长度较短的稀疏数据库有良好的表现,但是,对于具有较长频繁模式的稠密数据库,如人口普查数据库,这些算法的性能下降较为严重。下降的原因是这些算法在执行过程中多次扫描数据库,产生了大量的长频繁项集。这一方面导致多次扫描磁盘驻留数据库带来的较高I/O开销;另一方面,在对大候选项集集合进行模式匹配时,特别是挖掘长模式时,产生了较高的CPU运算开销。频繁项集挖掘算法的CPU开销将成为瓶颈,针对稠密数据集,尤其是数据集具有普遍的长频繁模式时,传统垂直挖掘方法的性能下降较为严重。
发明内容
为解决上述技术问题,本发明提出一种基于垂直数据分布的稠密数据库快速关联规则挖掘方法,包括以下步骤:
S1、设项集集合为I,I={i1,...,im}是一个值域为{0,1}的属性集,对给定事务数据库T={t1,...,tn},记D为T的集合,对应每一个事务t1,...,tn有唯一的标识TID,每个事务是一分量为m的二元向量,F为D的频繁项集集合,P1,...,Pn为D的n个互不相交的划分,d为算法执行过程中除当前划分之外的已扫描事务,Q表示存储候选项集的DAG结构,v表示Q中项集,即有定义v的支持度计数为count(v),v的支持度为support(v),minsup为用户设定的最小支持度;
S2、利用DAG结构替代CARMA算法中的lattice结构存储项集和项集附加信息,每个项集存储于Q中的单个节点,并与其前两个子集的结点相连,项集按照字典序排列,mother表示较小子项集、father表示较大子项集,对于Q中的每个项集v存储与v的超集的链接、这些保存链接的链表用childes表示;
S3、令T(X)代表项集X的tidlist,d(X)代表X的diffset,P为一单项集,t(P)为P的tidlist,PX和PY组合项集,σ(PX)为PX的支持度;
S4、利用单项集的集合对Q进行初始化,通过ReadPartition函数对数据库划分中的事务进行读取,在此过程中同时完成Q结构的构建、Q中单项集diffset结构的创建以及Q中所有候选项集的firstTrans、maxMissed值的计算,VARMLDb算法在构建Q的过程中通过单项集来构造并计算其他的候选项集,检查待插入项集的所有真子集是否已经被插入到lattice集合当中,在单个划分读取完毕之后,利用UpdateItem函数对Q中候选项集进行迭代计算,更新所有候选项集的count、min-Support和max-Support,所有划分读取完毕后第一次扫描结束,得到包含所有频繁项集的超集结构Q;
S5、利用条件max-Support(v)<minsup对Q进行初步修剪,扫描数据库过程中不再增加候选项集个数,对Q中项集的count值和maxMissed值进行更新;同时采用CARMA算法中的前向剪枝技术对Q中满足条件的项集进行修剪,并利用OutPutFreItem函数对Q中的频繁项集进行输出,如果输出的项集在Q中没有超集,则将此项集从Q中移除,直到Q中没有多余频繁项集则扫描终止。
进一步地,所述给定事务数据集D和最小支持度minsup,对于项集vI,若support(v)≥minsup,则称v为D的频繁项集,若v为D中的频繁项集,则对任意都有w是D中的频繁项集;给定D,若v为D中的非频繁项集,则对任意都有w是D中的非频繁项集。
进一步地,所述步骤S3中以及进而通过计算t(PXY)的基可以得到项集PXY的支持度,其中t(PX)∩t(PY)=t(PXY);
d(PX)=t(P)-t(X)、即项集X和P的tidlist之差,d(PY)=t(P)-t(Y)、即项集Y和P的tidlist之差,组合项集PX的支持度不等于diffset的基,而有σ(PX)=σ(P)-|d(PX)|;
进一步计算项集PXY的支持度σ(PXY)=σ(PX)-|d(PXY)|,则d(PXY)的计算方法如下:
d(PXY)=t(PX)-t(PY)
=t(PX)-t(PY)+t(P)-t(P)
=(t(P)-t(PY))-t(P)-t(PX))
=d(PY)-d(PX)。
本发明的有益效果:
本发明结合了划分和diffset的概念,弥补了传统垂直算法对于大型稠密数据库挖掘能力的不足,在整体上提高了频繁项集的计算效率,减轻了磁盘I/O读取开销,算法在性能上优于传统垂直算法,而且最小支持度越小,VARMLDb算法的优势越明显,计算更为简单,将要存放在内存中的数据项支持集进行压缩,以减小算法的空间开销,提高算法可扩展性,进一步减少基于数据垂直分布的关联规则挖掘算法运行中频繁项集支持集在内存空间的占用。
具体实施方式
下面结合具体实施例,对本发明进行进一步详细说明。
一种基于垂直数据分布的稠密数据库快速关联规则挖掘方法,包括以下步骤:
S1、设项集集合为I,I={i1,...,im}是一个值域为{0,1}的属性集,对给定事务数据库T={t1,...,tn},记D为T的集合,对应每一个事务t1,...,tn有唯一的标识TID,每个事务是一分量为m的二元向量,F为D的频繁项集集合,P1,...,Pn为D的n个互不相交的划分,d为算法执行过程中除当前划分之外的已扫描事务,Q表示存储候选项集的DAG结构,v表示Q中项集,即有定义v的支持度计数为count(v),v的支持度为support(v),minsup为用户设定的最小支持度门限,若ti〔j1〕=1,...,ti〔jk〕=1,则称事务ti支持属性集{iji,...,ijk}。记事务集T中支持属性集{ij1,...,ijk}事务的个数为nsup({ij1,...,ijk}),称nsup({ij1,...,ijk})/|T|/为属性集{iji,...,ijk}的支持度,记为sup({ij1,...,ijk})。关联规则是这样一个逻辑蕴涵式:XY,其中XI,YI并且X∩Y=,X称为关联规则的前集;Y称为关联规则的后集,sup(X∪Y)称为关联规则的支持度(suppport);sup(X∪Y)/sup(X)称为关联规则的信任度(confidence)记为conf(XY)。关联规则挖掘问题就是由用户事先指定规则的最小支持度minsup和最小信任度minconf,然后找出满足minsup和minconf阀值约束的所有规则;
步骤S1中提出了用于挖掘关联规则的著名Apriori算法,随后又有许多改进的算法〔2,3,4〕。Apriori算法思想分两步:首先找出所有支持度不小于用户指定的最小支持度minsup约束的所有属性组合,在〔1〕中称为大项目集(largeitemsets),然后利用大项目集产生满足minconf约束的所有规则,算法的执行时间主要在第一步。这些算法只有支持度和信任度约束,能够较好地分析非稠密数据,如超市数据。这是因为在超市数据中,各种商品(属性)间没有必然联系,顾客购买哪几种商品完全由顾客本身决定,并且所有顾客购买某种商品的总次数相对整个顾客购买事务集而言是很小的。但现实世界中也有许多数据是稠密的,如人口统计数据,更一般的如关系型数据,它们具有以下特点:
·某些属性出现频率相当高(如性别属性);
·某些属性间有很强的关联性;
·个别属性出现在每一个事务中;
S2、利用DAG结构替代CARMA算法中的lattice结构存储项集和项集附加信息,每个项集存储于Q中的单个节点,并与其前两个子集的结点相连,项集按照字典序排列,mother表示较小子项集、father表示较大子项集,同时,对于Q中的每个项集v存储与v的超集的链接、这些保存链接的链表用childes表示;
S3、令T(X)代表项集X的tidlist,d(X)代表X的diffset,P为一单项集,t(P)为P的tidlist,PX和PY组合项集,σ(PX)为PX的支持度;
假设I={a,b,c,d},T={t1,…,t6},令t(v)表示项集v的tidlist,d(v)表示步骤S1中项集v的diffset,以及 进而通过计算t(PXY)的基可以得到项集PXY的支持度,其中t(PX)∩t(PY)=t(PXY),现在假设t(PX)值未知,但可以得到d(PX)=t(P)-t(X),即项集X和P的tidlist之差,类似地可以得到d(PY),组合项集PX的支持度不等于diffset的基,而有σ(PX)=σ(P)-|d(PX)|,类似地,现已知d(PX)和d(PY),可进一步计算项集PXY的支持度σ(PXY)=σ(PX)-|d(PXY)|,则d(PXY)的计算方法推导如下:d(PXY)=t(PX)-t(PY)=t(PX)-t(PY)+t(P)-t(P)=(t(P)-t(PY))-t(P)-t(PX))=d(PY)-d(PX);
S4、首先利用单项集的集合对Q进行初始化,再通过ReadPartition函数对数据库划分中的事务进行读取,在此过程中同时完成Q结构的构建、Q中单项集diffset结构的创建以及Q中所有候选项集的firstTrans、maxMissed值的计算,VARMLDb算法在构建Q的过程中通过单项集来构造并计算其他的候选项集,检查待插入项集的所有真子集是否已经被插入到lattice集合当中,在单个划分读取完毕之后,利用UpdateItem函数对Q中候选项集进行迭代计算,更新所有候选项集的count、min-Support和max-Support 3个值,所有划分读取完毕后第一次扫描结束,得到包含所有频繁项集的超集结构Q;
S5、利用条件max-Support(v)<minsup对Q进行初步修剪,扫描数据库过程中不再增加候选项集个数,对Q中项集的count值和maxMissed值进行更新;同时采用CARMA算法中的前向剪枝技术对Q中满足条件的项集进行修剪,并利用OutPutFreItem函数对Q中的频繁项集进行输出,如果输出的项集在Q中没有超集,则将此项集从Q中移除,直到Q中没有多余频繁项集则扫描终止。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (3)
1.基于垂直数据分布的稠密数据库快速关联规则挖掘方法,其特征在于,包括以下步骤:
S1、设项集集合为I,I={i1,...,im}是一个值域为{0,1}的属性集,对给定事务数据库T={t1,...,tn},记D为T的集合,对应每一个事务t1,...,tn有唯一的标识TID,每个事务是一分量为m的二元向量,F为D的频繁项集集合,P1,...,Pn为D的n个互不相交的划分,d为执行过程中除当前划分之外的已扫描事务,Q表示存储候选项集的DAG结构,v表示Q中项集,定义v的支持度计数为count(v),v的支持度为support(v),minsup为用户设定的最小支持度;
S2、利用DAG结构替代CARMA算法中的lattice结构存储项集和项集附加信息,每个项集存储于Q中的单个节点,并与其前两个子集的结点相连,项集按照字典序排列,mother表示较小子项集、father表示较大子项集,对于Q中的每个项集v存储与v的超集的链接、这些保存链接的链表用childes表示;
S3、令T(X)代表项集X的tidlist,d(X)代表X的diffset,P为一单项集,t(P)为P的tidlist,PX和PY组合项集,σ(PX)为PX的支持度;
S4、利用单项集的集合对Q进行初始化,通过ReadPartition函数对数据库划分中的事务进行读取,在此过程中同时完成Q结构的构建、Q中单项集diffset结构的创建以及Q中所有候选项集的firstTrans、maxMissed值的计算,VARMLDb算法在构建Q的过程中通过单项集来构造并计算其他的候选项集,检查待插入项集的所有真子集是否已经被插入到lattice集合当中,在单个划分读取完毕之后,利用UpdateItem函数对Q中候选项集进行迭代计算,更新所有候选项集的count、min-Support和max-Support,所有划分读取完毕后第一次扫描结束,得到包含所有频繁项集的超集结构Q;
S5、利用条件max-Support(v)<minsup对Q进行初步修剪,扫描数据库过程中不再增加候选项集个数,对Q中项集的count值和maxMissed值进行更新;同时采用CARMA算法中的前向剪枝技术对Q中满足条件的项集进行修剪,并利用OutPutFreItem函数对Q中的频繁项集进行输出,如果输出的项集在Q中没有超集,则将此项集从Q中移除,直到Q中没有多余频繁项集则扫描终止。
2.根据权利要求1所述的基于垂直数据分布的稠密数据库快速关联规则挖掘方法,其特征在于,所述给定事务数据集D和最小支持度minsup,对于项集vI,若support(v)≥minsup,则称v为D的频繁项集,若v为D中的频繁项集,则对任意都有w是D中的频繁项集;给定D,若v为D中的非频繁项集,则对任意都有w是D中的非频繁项集。
3.根据权利要求1所述的基于垂直数据分布的稠密数据库快速关联规则挖掘方法,其特征在于,所述步骤S3中以及进而通过计算t(PXY)的基可以得到项集PXY的支持度,其中t(PX)∩t(PY)=t(PXY);
d(PX)=t(P)-t(X)、即项集X和P的tidlist之差,d(PY)=t(P)-t(Y)、即项集Y和P的tidlist之差,组合项集PX的支持度不等于diffset的基,而有σ(PX)=σ(P)-|d(PX)|;
进一步计算项集PXY的支持度σ(PXY)=σ(PX)-|d(PXY)|,则d(PXY)的计算方法如下:
d(PXY)=t(PX)-t(PY)
=t(PX)-t(PY)+t(P)-t(P)
=(t(P)-t(PY))-t(P)-t(PX))
=d(PY)-d(PX)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711100787.9A CN107908711A (zh) | 2017-11-09 | 2017-11-09 | 基于垂直数据分布的稠密数据库快速关联规则挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711100787.9A CN107908711A (zh) | 2017-11-09 | 2017-11-09 | 基于垂直数据分布的稠密数据库快速关联规则挖掘方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908711A true CN107908711A (zh) | 2018-04-13 |
Family
ID=61843884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711100787.9A Pending CN107908711A (zh) | 2017-11-09 | 2017-11-09 | 基于垂直数据分布的稠密数据库快速关联规则挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908711A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471960A (zh) * | 2019-08-21 | 2019-11-19 | 桂林电子科技大学 | 一种含负效用的高效用项集挖掘方法 |
CN112395277A (zh) * | 2020-12-09 | 2021-02-23 | 招商华软信息有限公司 | 一种车辆信息筛选方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160179903A1 (en) * | 2014-12-23 | 2016-06-23 | Ran Bittmann | Enhancing frequent itemset mining |
CN106649479A (zh) * | 2016-09-29 | 2017-05-10 | 国网山东省电力公司电力科学研究院 | 一种基于概率图的变压器状态关联规则挖掘方法 |
-
2017
- 2017-11-09 CN CN201711100787.9A patent/CN107908711A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160179903A1 (en) * | 2014-12-23 | 2016-06-23 | Ran Bittmann | Enhancing frequent itemset mining |
CN106649479A (zh) * | 2016-09-29 | 2017-05-10 | 国网山东省电力公司电力科学研究院 | 一种基于概率图的变压器状态关联规则挖掘方法 |
Non-Patent Citations (1)
Title |
---|
崔建 等: "基于垂直数据分布的大型稠密数据库快速关联规则挖掘算法", 《计算机科学》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471960A (zh) * | 2019-08-21 | 2019-11-19 | 桂林电子科技大学 | 一种含负效用的高效用项集挖掘方法 |
CN110471960B (zh) * | 2019-08-21 | 2022-04-05 | 桂林电子科技大学 | 一种含负效用的高效用项集挖掘方法 |
CN112395277A (zh) * | 2020-12-09 | 2021-02-23 | 招商华软信息有限公司 | 一种车辆信息筛选方法、装置、设备及存储介质 |
CN112395277B (zh) * | 2020-12-09 | 2024-01-09 | 招商华软信息有限公司 | 一种车辆信息筛选方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yun et al. | Efficient mining of maximal correlated weight frequent patterns | |
Beliakov et al. | Improving the speed and stability of the k-nearest neighbors method | |
CN110297853A (zh) | 频繁集挖掘方法和装置 | |
CN113157943A (zh) | 面向大规模金融知识图谱的分布式存储及可视化查询处理方法 | |
CN105260387A (zh) | 一种面向海量事务数据库的关联规则分析方法 | |
CN107908711A (zh) | 基于垂直数据分布的稠密数据库快速关联规则挖掘方法 | |
Mohamed et al. | Efficient mining frequent itemsets algorithms | |
CN108073701A (zh) | 一种挖掘多维时序数据稀有模式的方法 | |
Abdullah et al. | An alternative measure for mining weighted least association rule and its framework | |
CN104765852A (zh) | 大数据背景下基于模糊算法的数据挖掘方法 | |
CN106296401A (zh) | 一种用于股市运行逻辑理解的强关联规则挖掘方法 | |
CN107704872A (zh) | 一种基于相对最离散维分割的K‑means聚类初始中心选取方法 | |
Lavergne et al. | TRARM-RelSup: targeted rare association rule mining using itemset trees and the relative support measure | |
Lin et al. | Efficient updating of sequential patterns with transaction insertion | |
Xiong | Association Analysis: Basic Concepts and Algorithms | |
Alqadah et al. | A game theoretic framework for heterogenous information network clustering | |
Ayyagari | Integrating Association Rules with Decision Trees in Object-Relational Databases | |
Wang et al. | Parallel hierarchical clustering using weighted confidence affinity | |
Boutsinas et al. | Distributed mining of association rules based on reducing the support threshold | |
Pei et al. | Parallelization of FP-growth algorithm for mining probabilistic numerical data based on MapReduce | |
Hong et al. | Providing timely updated sequential patterns in decision making | |
Lin et al. | A rapid incremental frequent pattern mining algorithm for uncertain data | |
Rohit | Association rule mining algorithms: survey | |
Hu et al. | Multi-hierarchy attribute relationship mining based outlier detection for categorical data | |
Karimtabar et al. | Finding frequent items: novel method for improving Apriori algorithm |
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: 20180413 |
|
RJ01 | Rejection of invention patent application after publication |