4种序列模式挖掘算法的比较分析
http://fpcheng.blog.51cto.com/2549627/829527? ?? 算法简介 AprioriAll算法属于Apriori类算法,其基本思想为首先遍历序列数据库生成候选序列并利用Apriori性质进行剪枝得到频繁序列。每次遍历都是通过连接上次得到的频繁序列生成新的长度加1的候选序列,然后扫描每个候选序列验证其是否为频繁序列。 GSP(generalized sequential pattern)算法是AprioriAll算法的扩展算法,其算法的执行过程和AprioriAll类似,最大的不同在于GSP引入了时间约束、滑动时间窗和分类层次技术,增加了扫描的约束条件,有效地减少了需要扫描的候选序列的数量。此外GSP利用哈希树来存储候选序列,减少了需要扫描的序列数量。 FreeSpan算法是基于模式投影的序列挖掘算法,其基本思想:利用当前挖掘的频繁序列集将序列数据库递归地投影到一组更小的投影数据库上,分别在每个投影数据库上增长子序列。这一过程对数据和待检验的频繁模式集都进行了分割,并且每一次检验限制在与其相符合的更小投影数据库中。 PrefixSpan是FreeSpan的改进算法,即通过前缀投影挖掘序列模式。其基本思想:投影时不考虑所有可能出现的频繁子序列,只检查前缀序列,然后把相应的后缀投影成投影数据库。每个投影数据库中,只检查局部频繁模式,在整个过程中不需要生成候选序列。 ? 2.?????算法的定性比较 表1.算法的分类比较
3.?????算法的时空执行效率比较
4.?????算法的适用范围分析 通常数据集可分为稠密数据集和稀疏数据集。稠密数据集有大量的长尺度和高支持度的频繁模式,在这样的数据集中,许多事件是相似的,例如DNA分析或者股票序列分析。稀疏数据集主要由短模式组成,长模式也存在,但相应的支持度很小,例如超级市场的交易数据集,用户在网站中的浏览页面序列等。 Apriori类算法在稀疏数据集的应用中比较合适,不适合稠密数据集的应用。对于有约束条件(例如相邻事务的时间间隔约束)序列模式挖掘,GSP更适用。 FreeSpan和PrefixSpan在两种数据集中都适用,而且在稠密数据集中它们的优势更加明显。两者相比,PrefixSpan的性能更好一些。 在实际应用中,在挖掘过程的不同阶段,数据集的特点,数据规模等因素可能不同,如果根据各阶段的特点,选择与之相应的算法,则序列模式挖掘能达到更好的效果。 此外由于Apriori类算法使用较简单,FreeSpan和PrefixSpan虽然效率高,但实现起来难度大。所以,现在大多数应用都是采用Apriori类算法的改进算法,以克服Apriori类算法执行效率不高的缺点。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |