论文部分内容阅读
随着互联网的快速发展,数据量呈指数式增长趋势,传统聚类算法存在着处理大数据时间长以及难以达到预期效果的缺陷,因此传统的聚类方法已经无法满足需求。云计算平台应运而生,它是由并行计算发展而来的,Hadoop是目前使用最广的云计算平台,通过把云平台与聚类算法结合使用,可以有效处理大规模数据。MapReduce模型是Hadoop云计算平台最核心的模块,目前研究最多的就是基于MapReduce模型来提高聚类算法的效率,随着数据量的不断增长,利用MapReduce模型处理大数据进行聚类已经成为研究的热点。在目前的关于云平台的聚类方法研究中,关键问题是如何实现传统的聚类算法的并行化,或者基于云平台实现聚类算法的分布式架构,而评价云计算平台的性能指标主要是加速比等。本文对基于云平台的聚类算法进行了深入的研究,并做了以下工作:首先,针对Canopy-kmeans算法的不足,提出了一种改进的方法。该方法通过分组和抽样来降低算法的时间复杂度,并通过最大最小原则对Canopy-kmeans算法进行了改进,以提高算法的有效性。基于MATLAB的仿真结果表明,改进算法的时效性和有效性都得到了改善。基于MapReduce模型,在Hadoop云平台上实现了改进的Canopy-kmeans算法。实验结果表明,随着节点数的线性增加,分布式集群的加速比呈线性增长趋势,能高效处理大规模数据。然后,针对一种新型的基于密度的聚类算法CFSFDP处理大数据量时间复杂度高的缺点,提出了一种改进的算法R-CFSFDP,该算法首先抽样部分数据,然后基于抽样出来数据的最有“代表性”的m个点来归类未被抽样的数据。基于MATLAB的仿真结果表明:R-CFSFDP算法大大降低了算法的时间复杂度。R-CFSFDP算法虽然时效性得到了提高,但是仿真结果也表明改进算法的有效性有所下降,而且R-CFSFDP算法无法与云平台有效结合,针对以上不足之处,本文又提出了n-CFSFDP算法:该算法首先将数据集进行分组,然后采用CFSFDP算法对子数据集进行聚类,最后依据子数据集的m值合并聚类结果。与R-CFSFDP算法不同,该算法对所有的数据都进行了CFSFDP算法,因此该算法有较好的有效性。基于MATLAB的仿真结果表明:n-CFSFDP算法在保证有效性的情况下,大大降低了算法的时间复杂度。基于MapReduce模型,在Hadoop平台上实现了n-CFSFDP算法。实验结果表明,随着节点数的增加,分布式集群的加速比呈快速增长趋势,可以高效地处理海量数据。