基于MapReduce和AprioriAll的分布式序列挖掘算法

时间:2024-11-10 17:27:11 来源:作文网 作者:管理员

摘 要:序列挖掘技术,能够从大量杂乱的数据中挖掘出用户的潜在访问模式。然而,传统的挖掘技术,由于其性能和扩展性的诸多限制,并不适合现今大数据下的挖掘任务。本文基于传统的挖掘算法AprioriAll,在结合国内外研究进展的基础上引入分布式概念格模型,提出了分布式序列挖掘算法PAHDP。通过在分布式系统上构建算法原型,并加以评估,本文证明了该算法的正确性和有效性,具有一定的应用价值。

关键词:数据挖掘;分✡布式计算;概念格;Hadoop

中图分类号:TP311

分布式计算的思想,可以将仅仅由单个计算机难以计算和维护的计算任务分为很多小的、相互独立的部分,然后把这些部分分配给很多台计算机进行处理。在这个基础上,利用分布式系统架构MapReduce,用户可以在不了解分布式底层细节的情况下,充分利用其框架下集群的高传输率与容错率的优点进行计算与存储。

正是在这种背景下,采用分布式计算以实现庞大数据集的数据挖掘,成为了目前国内外的研究热点。利用分布式计算,人们可以把庞大的数据集分为小的、相对独立的部分,并部署于集群的计算机中进行计算,最后将结果综合。本文在此基础上,对传统的数据挖掘算法AprioriAll进行了分布式探索,并针对影响性能的多个因素进行了分析与改进จ。

1 基于AprioriAll的分布ฃ式挖掘算法设计与实现

1.1 AprioriAll算法

AprioriAll算法是由R.Agrawal等人提出的,该算法采用迭代增长的思想,首先在数据库中找出所有频繁项集,并在每一次迭代过程中,将上一次得到的序列相互链接以生成新序列。接着,在扫描数据库的同时去掉不满足最小支持度阈值的序列,并将结果作为下一次迭代的候选,直到无法再产生更长的新序列为止。最后,扫描生成的频繁序列,去除包含于其它序列的子序列,留下来的就是最终的结果。该算法结构简单,然而面临着重复扫描哦数据库、难以并行化等问题,需要进行优化。

1.3 改进点分析

2 实验评测

实验时,共对三种情况下的序列ว模式挖掘(AprioriAll算法,伪分布式环境下的PAHDP算法与分布式环境下的PAHDP算法)进行了比较与测试。实验设置8组交易数据,其中顾客数目与商品数目相等,并从20增长到2000。顾客平均交易数目与平均每次购买商品数目分别固定为8与2.5。结果如下图所示:

图1 实验结果

通过对比可以发现,当顾客数目与商品数目相等,且交易数据小于9000时,PAHDP算法执行时间远远大于AprioriAll的单机算法。而当数据量继续提升时,AprioriAll的执行时间则随之从53.385秒增加到了405.418秒(记录数为18906),并超过了PAHDP算法。当数据量继续增长时,AprioriAll算法内存溢出而无法计算,而PAHDP算法增速较缓(伪分布式节点的计算时间仅从116秒增长到了153秒,增长率为31.9%)。从对比实验可以看出,传统的AprioriAll算法在顾客数目小于商品数目的时候,其计算时间的增长比顾客数目大于商品数目的情况下更为缓慢,因此该算法对于数据的内在结构是敏感的。而对于PAHDP算法来说,则在三种情况下的运行速度差异不大,因此其对于数据是不敏感的。

3 结束语

本文深入分析了AprioriAll算法的实现流程和相关局限,从而提出了新算法的改进目标。基于这些改进点,本文提出了分布式挖掘算法PAHDP,并对整个算法的流程和其中的关键技术进行了阐述。本文证明了PAHDP算法的有效性,论述了在较大规模数据库的情况下PAHDP算法所具有的优势。作为集群化序列挖掘的一个有效解决方案,本文设计的算法能够在大规模序列挖掘领域具备研究价值。

参考文献:

[2]吕峰等.4种序列模式挖掘算法的特性研究[J].武汉理工大学学报,2006,28

(2):57-60

[3]周嘉伟等.新多维序列挖掘算法:对AprioriAll算法的改进[J].科技经济市场,2006,4:26~27

[5ツ]王宇.序列模式挖掘的并行算法研究[D].哈尔滨.哈尔滨理工大学.2007


热门排行: 教你如何写建议书