论文部分内容阅读
近年来,随着数据量的爆炸式增长,如何大数据中的挖掘有价值的信息已经被广泛关注。目前数据挖掘技术是解决该问题的重要技术手段。通过挖掘数据中的频繁项集来推导关联规则是数据挖掘技术的一项重要内容。然而随着大数据时代的到来,传统的数据挖掘算法已经不能适应当前大数据的特性,因此研究并提出新的能够适应大数据环境的数据挖掘算法已经显得十分迫切而且需要。本文对当前国内外的大数据挖掘的算法进行了较深入的分析和研究,提出了一种能够高效快速挖掘大数据集的关联规则的实现算法,并以此期望解决大数据下数据挖掘速度慢的问题。本文的主要工作可以归纳为以下几个方面:(1)对当前数据挖掘技术的现状与存在问题进行了分析和研究。日益增长的数据量与人们对数据中蕴含的有价值信息的渴望之间的矛盾以及数据量的增长与当前硬件发展速度之间的矛盾,是当前大数据环境下所必须解决的主要矛盾,数据集的变大并没有使得人们对数据挖掘的速度要求有所降低,反而希望能够尽快而准确的挖掘出大数据集中的有价值信息。(2)对国内外数据挖掘算法和分布式计算模型Map Reduce以及分布式计算框架Hadoop进行了分析与研究。Apriori算法需要多次搜索原数据库,容易造成很大的I/O开销,FPGrowth算法虽然利用FPTree树形结构对原数据库进行无损压缩,但是在迭代挖掘频繁模式时子树结构太多,不利于大数据挖掘过程。Hadoop降低了分布式编程的难度并且易于管理,而Map Reduce很适应关联规则挖掘,因此Hadoop和Map Reduce在大数据关联规则挖掘算法中有一定的优势。(3)研究了Pre Post算法并给出其改进算法。Pre Post算法结合了FPGrowth算法和垂直挖掘算法的优势。然而在挖掘时采用了类似于Apriori算法的方式,虽然合并两个N-list的时间复杂度是线性的,但对于S个频繁K项集需要比较(S*(S-1))/2次,这使得时间开销不容小觑,并且在挖掘K+1项集时必须保存所有的频繁K项集在内存中,这有可能超出内存承载能力。因此,本文提出了一种自底向上的深度优先策略对Pre Post算法进行了改进。(4)提出了一种基于Hadoop平台的新颖的大数据挖掘算法—MRPre Post,在一定程度上弥补了大数据环境下数据挖掘算法的缺失。影响并行算法性能的一个主要原因就是集群的负载,为了提高MRPre Post算法性能,本文进一步提出了一种能够保证集群负载均衡的分组策略。实验表明,MRPre Post算法能够适应大数据关联规则挖掘。