论文部分内容阅读
关联规则挖掘是一种在大型数据库中挖掘隐含内容和知识的重要技术。自从被第一次提出到现在,关联规则挖掘问题受到了研究者广泛的关注。典型的应用是购物篮分析,它分析顾客所购买的商品之间的联系。该算法发现并分析在数据库中满足用户自定的最小支持度和最小置信度的数据项之间的关系。然而,实际生活的各种应用中,产生的数据库事务集中的很多数据项的出现频率是非常高的,但是有的数据项出现频率却是很低,但是这些数据项在现实生活中同样的重要。如果数据项在要挖掘的数据库事务集中出现的频率相差很多,可能会产生下面的一些问题:如果将最小支持度设置得太高,则在挖掘关联规则过程中可能会丢失掉出现频度少但同样重要的数据项支持的关联规则。为了同时发现出现频度高的和低的数据项中所蕴含的关联规则,只能将最小支持度设置的很小。但是,这样将会导致挖掘出的规则组合爆炸,因为挖掘出的大部分规则是没有意义的。在数据挖掘技术中这种两相矛盾的现象称为稀少数据项问题(rare item problem)[3]。幸运的是一种使用多重最小支持度的方法被提出来改进寻找在数据库中存在的稀少关联规则。然而,大多数的挖掘算法只能处理一些很小规模的数据,当面临较大规模的数据时,大多数算法执行效率不满足实时大数据驱动的决策需求。云计算可以通过提供正确的编程模型来提高大型数据集的处理速度。云计算的新颖之处在于它提供了无限便宜的存储和计算能力。因此,云计算为海量数据的存储和挖掘提供了一个平台。MapReduce是一个实现处理大数据集的大规模并行的编程模型。它隐藏如并行化,容错,数据分布和负载平衡等问题,致力于其应用本身计算问题的算法设计而不用去担心一些并行化的细节问题如输入数据在多个节点的划分和存储等。MapReduce成为一个可以从TB甚至PB级的数据集中有效的挖掘出频繁项集的并行计算模型。针对现实数据库事务集中,不同数据项的重要性和出现概率各不相同,提出一种基于数据项在事务数据集中出现的频率来自动设置最小支持度的模型,同时基于MapReduce框架提出一种并行的PCFP-Growth关联规则挖掘算法。从而挖掘出那些覆盖较少数据但却有意义,用户可能更感兴趣的关联规则。经过最终的实验结果对比分析,表明该算法满足对于不同数据集的挖掘关联规则的需求,并且在处理海量的数据库事务集时能有效地提高挖掘关联规则的效率。