论文部分内容阅读
聚类算法是数据挖掘领域中重要技术之一,数据挖掘研究的主要内容是从众多数据中挖掘出一些有用的和有价值的信息,其技术已经应用到工业、商业等众多领域。然而随着众多领域的飞速发展,其产生的数据量也在不断的扩大,传统的技术对数据的处理在时间上和硬件上已经不能满足日益增长的数据量,如何行之有效的处理海量数据已经成为迫在眉睫的首要任务,因此如何将并行计算方式应用到大数据集上,已成为热门的研究领域。传统的并行计算模式和计算方法主要是基于时间并行和空间并行,但是前者对于数据的处理要求较高,并行设计程序比较繁琐,一般主要用于科学计算领域,而后者对于并行所用的硬件要求很高,价格比较昂贵并且硬件的淘汰速度很快,造成极大的浪费,在数据量急剧增长的今天,迫切需要相应技术解决此问题。Google提出的MapReduce计算模式,因为其封装了底层复杂的编写过程,用户不在为编写复杂的数据分割程序、任务调度程序、并行处理程序而发愁,只需关心自己需要解决的问题,从而一经推出就受到了广泛的关注,美中不足的是其为“闭源”框架。Apache Hadoop在2008年实现了针对MapReduce编程模型的开放源代码,近些年随着数据量的不断增长,Hadoop平台得到了广泛应用,本文是在深入了解Hadoop平台之后,在Linux操作系统上部署Hadoop云计算试验平台,通过对聚类算法的深入了解,进行了基于Hadoop平台的谱聚类算法研究。谱聚类算法与以往的聚类算法相比,其更适合大数据的处理,在面对高维度并且不规则的数据时不会陷入最优解,本文从传统的谱聚类算法过程入手,分析出其可以并行的部分,主要工作是计算拉普拉斯矩阵的特征值和特征向量,从而结合云计算平台实现并行处理。在深入熟悉MapReduce编程框架之后,对谱聚类算法进行数据分割和任务并行。实验数据采用Wikipedia数据和人工合成数据进行实验测试,通过实验结果可以显示出并行之后的谱聚类算法在Hadoop平台上表现出了良好的效果,大大提高了在单机上处理数据的时间速度,并且在加速比、数据伸缩性等方面表现出良好的效果,在海量数据处理上有明显的优势。