论文部分内容阅读
随着互联网的高速发展,各行各业正在产生越来越多的数据,人类社会进入了一个大数据时代。为了让数据真正产生价值,必须研究如何高效的从大数据中挖掘出有价值的信息。模式挖掘作为数据挖掘的一个分支,用来帮助人们从海量数据中发现有价值的规律,被广泛应用于各种场景,因此得到越来越多研究人员的关注。传统模式挖掘算法大多只适用于在单机上运行。当所处理的数据量很大时,由于受限于物理内存等因素,挖掘效率很低,因此不适用于处理大数据。云计算作为一种新型的计算模式,专门用于处理大数据。通过借助云计算模式下已有的并行计算模型将挖掘算法并行化,可以利用大规模的物理集群并行处理大数据。MapReduce是云计算模式下的一种高效简洁的分布式并行计算模型,在其基础上的许多并行挖掘算法被提出。Spark作为一种更加高效的基于内存的并行计算模型,一定程度上弥补了MapReduce进行迭代式计算的不足,目前发展迅速。本文首先介绍了经典的模式挖掘算法,然后分析了两种并行计算模型MapReduce、Spark的原理,之后,分别借助MapReduce模型和Spark模型提出了并行频繁模式挖掘算法Pamph和并行效用模式挖掘算法Phps。其中,Pamph算法充分利用MapReduce的分布式并行计算模型,采用宽度优先结合深度优先的混合挖掘策略,使用垂直数据格式mixset结合FP-tree结构表示数据,实现了宽度优先挖掘到深度优先挖掘自动转换、宽度优先挖掘和深度优先挖掘并行执行。最终实验表明该算法比已有的基于MapReduce的并行频繁模式挖掘算法DPC、PFP效率高、空间伸缩性好。Phps算法充分利用Spark基于内存的并行计算模型,借助HUIMiner算法中的数据结构UtilityList的变体表示数据,实现了高效用模式的并行挖掘。最终实验表明,该算法比基于MapReduce的效用模式挖掘算法效率高。