YAFIM:基于Spark的并行化频繁项集挖掘算法

YAFIM
背景:

频繁项集挖掘是数据挖掘领域最为重要的算法之一,其中,Apriori算法是频繁项集挖掘算法中最为经典的算法。然而,频繁项集挖掘算法不仅是数据密集型算法,而且也是计算密集型算法。一方面,如今我们进行数据挖掘的数据集越来越大;另一方面,频繁项集挖掘算法需要迭代地查找原始数据集。所以现有的MapReduce并行化频繁项集挖掘算法在实现上效率不高。

意义:
基于Spark分布式内存计算框架,实现了基于Spark的并行化频繁项集挖掘算法。
  • 充分利用分布式内存计算,将迭代计算产生的中间数据放在分布式内存中
  • 利用Broadcast广播机制,在每个分布式节点上广播原始数据集,降低通信开销、提高效率

实验表明,与MapReduce并行化频繁项集挖掘算法相比,YAFIM在不同的数据集上平均提高18倍左右。