论文部分内容阅读
数据挖掘,又名知识发现,是指从大量的、不完全的、有噪声的、模糊的、随机的数据中,智能地搜寻隐含在其中的有价值的信息。通过数据挖掘,不仅可以总结过去的发展历程,同时还能预测未来的发展趋势,为商业决策、医疗研究、军事等领域提供强有力的支持。然而随着大数据时代的到来,日益庞大的数据规模正在向传统数据挖工作发起挑战。大规模的计算能力成为数据挖掘技术能否有效实现的先决条件。所幸的是,计算机技术与互联网技术的发展,在产生大数据的同时,也孕育出了全新的云计算技术。凭借云计算其分布式计算平台所提供的强大计算能力,云计算与数据挖掘二者的结合存在着巨大的优势和潜力。将云计算应用到数据挖掘中,可以为越来越多的海量数据挖掘提供解决方案,这已经成为数据挖掘行业发展的趋势。在数据挖掘中,关联规则和聚类分析是重要的数据挖掘算法。其中,关联规则算法中的核心是Apriori算法,它是通过多次扫描数据库来寻找所有的频繁项集。当面对大规模数据时,重复的数据库扫描将花费大量时间和内存空间,大大降低了算法执行的效率。同样的,典型的聚类算法K-means算法需要多次进行数据对象与聚类中心间距离的计算以及同一聚类内点平均值的计算。在处理规模较大的数据时,同样受制于内存容量,往往不能有效地运行。因此,本文主要是利用Hadoop云计算平台强大的分布式计算和存储数据的能力,基于MapReduce编程模型将传统串行算法并行化设计,从而解决关联规则和聚类分析中所面临的有效处理大规模数据问题。首先,本文主要介绍了云计算Hadoop框架、关联规则Apriori算法及聚类分析K-means,同时深入研究Hadoop的两大核心技术——HDFS分布式文件系统及MapReduce编程模型。接着,基于MapReuduce编程模型,对传统数据挖掘Apriori算法和K-means进行改进,分别提出并行化设计方案。并行化后的算法将重复的计算工作分布在各个节点,减少了单个节点的计算负担和计算时间,有效地提高了算法效率,使它们能并行处理大规模数据。最后,将基于MapReduce并行化后的改进算法部署到Hadoop集群环境中,在不同大小的数据集下对改进算法进行实验,并根据实验结果分析并行算法的性能表现。实验证明,基于MapReduce的Apriori算法和K-means算法一定程度上解决了传统数据挖掘耗时长、效率低的问题。