关联分析研究的进展

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

陈宇王廷, 张保稳, 何德全

(上海交通大学,上海 200240)

【摘 要】关联规则的发现是数据挖掘的一个重要方面,由于信息数据的急剧增长,面对浩如烟海的海量数据,为把这些数据转换成被人类充分利用的有价值信息,对关联规则挖掘算法进行研究就显得异常重要。总结了当今各种关联规则挖掘算法并对其加以分类,阐述了各类关联规则算法的特点,列举算法之间的差异,在时间和空间上进行比较,并且在此基础上对关联规则挖掘的未来趋势进行了分析和展望。【关键词】数据挖掘;关联分析;Apri or 算法;频繁项集

【中图分类号】T P181 【文献标识码】A 【文章编号】1009-8054(2010) 02-0084-04

Research Progress on Association Analysis

CHEN Yu-ting, ZHANG Bao-wen, HE De-quan

(Shanghai Jiaotong University, Shanghai 200240, China)

【Abstract 】The discovery of association rule is an important aspect of data mining. Due to the tremendous increase of information data and in order to transform these raw data into valuable information which could be best used by the people, it 's extremely important to study the mining algorithm. The paper summarizes various prevailing association rule mining algorithms, classifies them into four different types and makes comparisons between among various types of algorithms. And based on this, the future developments of the association rule mining algorithms are analyzed and forecasted.【Keywords 】data mining; association analysis; Apriori; frequent itemset

关联分析研究的进展

收稿日期:2009-08-17

作者简介:陈宇王廷,1985年生,男,上海交通大学在读硕士,研究方向:数据挖掘、关联分析;张保稳,男,上海交通大学副教授,研究方向:数据挖掘;何德全,男,中国工程院院士,上海交通大学信息安全工程学院院长,研究方向:信息安全。

0 引言

当今世界正处在一个信息迅速发展的时代,信息数量急剧增长,面对浩如烟海的海量数据,把这些数据转换成被人类充分利用的有价值信息的强烈需求,激发了数据挖掘技术的产生,其中关联规则的挖掘是目前数据挖掘领域中研究最为广泛的课题之一[1]。

强有力的关联规则挖掘算法,可以帮助决策者从海量数据中发现重要的数据模式,从而提取有价值的知识,逾越丰富数据到有用信息之间的鸿沟,对商业决策和科学研究做出巨大贡献。

1 关联规则挖掘

文中在对典型的关联规则挖掘技术进行分析后,对关联分析进行了归纳。关联规则挖掘技术从整体上分为如下几类:按照事务数据集数据类型的不同可以划分为二值型关联规则挖掘与数值型关联规则挖掘;由于数据挖掘处理的多是大规模的数据库,一个挖掘任务的完成经常需要较长的时间,故按照处理器处理数据的方式不同可以划分为串行关联规则挖掘与并行关联规则挖掘;由于数据分布的分散性,有价值的模式经常出现在较高的概念层中,仅从较低的概念层上很难发现有用的模式,故按照是否对事务数据集进行概念分层又可以划分为单层次关联规则挖掘与多层次关联规则挖掘;由于当前事务数据库是多用户共享的共同资源,频繁的数据库更新通常是不可避免的,故按照事务数据集是否动态改变又可以划分为增量式关联规则挖掘与静态关联规则挖掘(见图1)。

1.1 二值型关联规则挖掘

(1) 基于SQL的关联规则挖掘算法—SETM[2]

事务通常以关系数据库的格式存储,一条事物对应关系

图1 关联规则挖掘的分类

表的一条记录。如果借助关系数据库的查询功能,将关联规则挖掘的过程转化为SQL 语句的方式来执行,可以有效地提高挖掘的效率。SETM 算法利用中间表R k 存储事物的标识和其中包含的k -项集。对k -1阶项集的中间表R k -1与R 1作连接操作,就得到k 阶项集的连接表R k `,对连接表按照项集字段分组,每个项集构成一组,组内的记录个数就是该项集的支持度计数,那些达到最小支持度阈值的项集就是频繁k -项集。然后,利用频繁项集对连接表过滤,只保留频繁项集对应的交易记录,得到k -项集的中间表记作R k 。以此类推,直到某个中间表为空时算法结束。

(2) 关联规则挖掘的基本算法——Apriori[3]

Apriori 算法是第一个典型的关联规则挖掘算法,它开创性地使用基于支持度的剪枝技术,系统地控制候选项集指数增长。该算法中使用Apriori-gen 函数通过如下两个操作产生候选项集:

① 候选项集的产生:该操作由前一次迭代发现的频繁(k -1)-项集产生新的候选k -项集;

② 候选项集的剪枝:该操作采用基于支持度的剪枝策略,删除一些候选k -项集。

函数A p r i o r i -g e n 的候选产生过程合并一对频繁(k -1)-项集,仅当它们的前k -2个项都相同。令A ={a 1,a 2,…,a k -1}和B ={b 1,b 2,…,b k -1}是一对频繁(k -1)-项集,合并A 和B ,如果它们满足如下条件:a i =b i (i =1,2,…,k -2)并且a k -1≠b k -1。

(3) FP增长算法

FP 算法不同于Apriori 算法的“产生-测试”,而是使用一种称作FP 树的紧凑数据结构组织数据,并直接从该结构中提取频繁项集,它通过逐个读入事务,并把每个事务映射到FP 树中的一条路径来构造。FP 增长是一个有趣的算法,它展示了如何使用事务数据集的压缩表示来有效地产生频繁项集。此外,对于某些事务数据集,FP 增长算法比标准的Apriori 算法要快几个数量级[4]。FP 增长算法的运行性能依赖于数据集的压缩因子,如果生成的条件FP 树非常茂盛,则算法的性能显著下降,因为算法必须产生大量的子问题,并且需要合并每个子问题返回的结果。

(4) QTTP算法[5]

QTTP 算法直接把事物操作数据当作候选集,通过扫描保存各项集的超集信息,从而对扫描过的信息不再重复扫描。为了保存扫描信息,存储结构规定如下:用Kset 表示层的索引号;NO.T 表示每层中TID 的序号;ID 用来标识没有超集的记录,有超集记录的ID 与其超集的ID 相同;标识位(flag)用来判断“记录k 项集是记录(k +1)项集的子集”是否出现过,取0表示未出现过,取1表示已出现过。上述4个算法的比

较如表1所示。

1.2 数值型关联规则挖掘

(1) 数值型关联规则挖掘算法[6]

数值型关联规则的挖掘是通过先将数据转换为二值型,再利用二值型规则的挖掘方法来实现的。对于分类型属性和值域(属性的取值空间)较小的数值型属性,每个取值映射为一个变量,对值域较大的数值型属性先分段,每个区间映射为一个变量,取值落在该区间中的数据转换为1,反之为0。数值型关联规则的挖掘就是发现这样的规则X →Y ,满足以下方面:

① 对于给定的支持度阈值,该规则满足б(X ∪Y )≥s ;② 对于给定的置信度阈值,该规则满足conf ≥minconf ;③ 对于给定的兴趣阈值,该规则是有趣的。(2) 模糊关联规则挖掘算法[7]

模糊关联规则挖掘[8]就是要发现模糊概念之间的关联。一般来说,模糊关联规则挖掘包括两个步骤:搜索频繁模糊项集和生成模糊关联规则。其中后者的过程与二值型关联规则挖掘相同,以下是频繁模糊项集搜索的过程:

① 定义属性上的模糊概念,可以用手工的方式定义,也可以通过其他方法自动生成;

② 扫描数据库,得到频繁1-模糊项集,在第k 次循环利用Apriori-gen 运算根据k -1阶候选项集,计算候选项集的支持度计数,得到k 阶频繁项集。1.3 并行关联规则挖掘[9]

并行算法是进行大规模计算的有效方法,利用多个处理器并行地处理数据,关键是计算、通信、内存利用和并发之间的协调。根据硬件的体系结构,并行关联规则挖掘算法分为内存分布的并行挖掘算法和共享内存的并行挖掘算法。

(1) 内存分布的并行挖掘算法[10]

Count 分布算法(CD 算法)是最典型的内存分布的并行关联规则挖掘算法。它把数据分布到各处理器,每次循环时在每个处理器的内存中复制全部候选项集,建立候选项集的Hash 树结构,然后各处理器分别扫描局部数据,计算局部支持度计数,通过处理器之间的通信得到全局支持度计数。

(2) 共享内存的并行挖掘算法[11]

CCPD 算法是基于Apriori 算法的共享内存的并行算法,它将数据库划分为若干逻辑分区,各处理器并行地生成候选项集,构造共享的Hash 树。由于对Hash 树的插入操作是并行执行的,当两个以上的处理器同时修改一个叶节点时,就

表1 二值型关联规则挖掘算法的比较

相关文档
最新文档