4种序列模式挖掘算法的特性研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第28卷 第2期
2006年2月武 汉 理 工 大 学 学 报JOURNA L OF WUHAN UNIVERSIT Y OF TECHN OLOG Y Vol.28 No.2 Feb.2006
4种序列模式挖掘算法的特性研究
吕 锋,张炜玮
(武汉理工大学信息工程学院,武汉430070)
摘 要: 序列模式挖掘是数据挖掘中的一个重要研究方向,对序列模式挖掘中的4种算法(AprioriAll 、GSP 、FreeSpan 、Prefixspan )的执行过程及其特点进行了研究,并对这几种算法的时空执行效率进行了定性和定量的分析比较,指出了4种算法各自的适用范围,得出的结果对序列模式挖掘系统的设计具有一定的参考价值。
关键词: 序列模式挖掘; AprioriAll ; GSP ; FreeS pan ; Prefixspan
中图分类号: TP 301.6文献标志码: A 文章编号:167124431(2006)022*******
R esearch on the Characters of Four Sequential Patterns
Mining Algorithms
L U Feng ,ZHA N G Wei 2wei
(School of Information Engineering ,Wuhan University of Technology ,Wuhan 430070,China )
Abstract :
Sequential patterns mining was a very important data 2mining problem with board application.We researched four sequential patterns mining algorithms namely AprioriAll ,GSP ,FreeS pan ,Prefixspan ,and studied their characters.A qualita 2tive analysis had also been made on the algorithm ’s time and space efficiency.We also pointed out the conditions in which each algorithm was applied.The conclusion of the research would be beneficial to the desi gn of data mining system.
K ey w ords : sequential patterns mining ; aprioriAll ; GSP ; freespan ; prefixspan
收稿日期:2005209202.
基金项目:教育部重点实验室开放研究基金(T K LJ0203)1
作者简介:吕 锋(19572),男,教授.E 2mail :lufengwut @
序列模式挖掘即从序列数据库中发现频繁子序列以作为模式,它是一类重要的数据挖掘问题,有着非常广泛的应用前景,被应用在包括顾客购买行为的分析、网络访问模式分析、科学实验的分析、疾病治疗的早期诊断、自然灾害的预测、DNA 序列的破译等方面。
序列模式首先是由Agrawal R 和Srikant R 提出的[1,2],此后,许多这方面的研究都将注意力放在如何提高序列模式挖掘的效率上。但是到目前为止,大多数挖掘序列模式的方法都是Apriori 类方法的改进。下面就对序列模式挖掘中的4种算法进行分析和比较。
1 序列模式挖掘中的4种算法及其特点
1.1 AprioriAll 算法
AprioriAll [1]算法为Apriori 类算法,主要思想为:在每一次扫描(pass )数据库时,利用上一次扫描时产生的大序列生成候选序列,并在扫描的同时计算它们的支持度(support ),满足支持度的候选序列作为下次扫描的大序列。第1次扫描时,长度为1的频繁序列模式作为初始的大1—序列。
AprioriAll 算法的不足:1)容易生成庞大众多的候选序列;2)需要多次扫描数据库。候选序列的长度增加1,就需要扫描1次数据库;3)不易发现长序列模式,因为随着需要挖掘的序列模式长度的增加,侯选序列
85 武 汉 理 工 大 学 学 报 2006年2月
的数量会成指数级增长;4)在发现序列模式的过程中,每次扫描数据库都要在数据转换中产生很大的开销。
1.2 G SP算法
GSP[2]算法是AprioriAll算法的扩展算法,其算法的执行过程和AprioriAll类似,最大的不同就在于, GSP引入了时间约束、滑动时间窗和分类层次技术,增加了扫描的约束条件,有效地减少了需要扫描的候选序列的数量,同时还克服了基本序列模型的局限性,更切合实际,减少多余的无用模式的产生。另外GSP利用哈希树来存储候选序列,减小了需要扫描的序列数量,同时对数据序列的表示方法进行转换,这样就可以有效地发现一个侯选项是否是数据序列的子序列。
GSP算法也是一个Apriori类算法,它存在的主要问题和AprioriAll算法相似。
1.3 FreeSpan算法
FreeSpan[3],即频繁模式投影的序列模式挖掘,其基本思想为:利用频繁项递归地将序列数据库投影到更小的投影数据库集中,在每个投影数据库中生成子序列片段。这一过程对数据和待检验的频繁模式集进行了分割,并且将每一次检验限制在与其相符合的更小的投影数据库中[4]。
FreeSpan算法执行的过程可以描述为:
1)首先给定序列数据库S及最小支持度阈值ζ。扫描S,找到S中的频繁项集,并以降序排列生成
f list列表。
2)执行下面步骤:(1)第1遍扫描S,构造频繁项矩阵;(2)生成长度为2的序列模式,循环项模式的标记和投影数据库的标记;(3)再次扫描S,生成循环项模式和投影数据;(4)对生成的投影数据库递归调用矩阵投影挖掘算法挖掘更长的候选模式。
FreeSpan算法分析:它将频繁序列和频繁模式的挖掘统一起来,把挖掘工作限制在投影数据库中,还能限制序列分片的增长。它能有效地发现完整的序列模式,同时大大减少产生候选序列所需的开销,比基于Apriori的GSP算法快很多。不足之处,它可能会产生许多投影数据库,如果一个模式在数据库中的每个序列中出现,该模式的投影数据库将不会缩减;另外,一个长度为k的序列可能在任何位置增长,那么长度为k+1的候选序列必须对每个可能的组合情况进行考察,这样所需的开销是比较大的。
1.4 Pref ixspan算法
Prefixspan[5]是FreeSpan的改进算法,即通过前缀投影挖掘序列模式。其基本思想为:序列数据库投影时,并不考虑所有可能出现的频繁子序列,而只检验前缀序列,然后把相应的后缀序列投影成投影数据库。每个投影数据库中,只检查局部频繁模式,在整个过程中不需要生成候选序列。
Prefixspan算法的执行过程可以描述为[6]:1)对交易数据库扫描一次得到全部频繁项目n,它们同时也是频繁1—序列。2)将序列模式完整的集合分为n个具有不同前缀的序列模式的子集。3)通过构造相应的投影库并在其中递归地挖掘发现序列模式的子集。
PrefixSpan算法分析:1)不需要产生候选序列模式,大大缩减了检索空间;2)与原始的序列数据库相比,投影数据库的规模不断减小;3)算法的主要开销在于投影数据库的构造,如果存在大量的序列模式,并且需要为每一个序列模式建立一个投影数据库,那么开销就比较大。
2 算法的特性分析
对Apriori类方法的改进研究,主要集中在如何提高算法的效率上。所有的Apriori类算法无论在处理细节上采用何种改进技术,都不可避免地在候选序列的生成、检验和支持度的计算方面产生开销。另外一种思路就是引入FP2growth的思想,在获得的子序列基础上,将需要挖掘的序列模式进行分类,并且按照这些分类将序列数据库进行投影,这种方法就是模式增量的序列模式挖掘。
2.1 4种算法的定性比较
归纳起来改进的方法主要体现在候选序列的产生,数据存储的结构,对原始数据的扫描次数等(见表1)。
在挖掘序列模式的过程中,AprioriAll和GSP产生大量的候选序列,FreeSpan和PrefixSpan不产生候选序列。采用合适的数据结构存储频繁序列可以提高算法执行的效率,可以看到前3种算法都采用Hash tree。AprioriAll和GSP没有对原始数据库进行分割,每次扫描都是在整个原始数据库上进行的,候选序列