论文部分内容阅读
随着网络信息量的不断增长,人们对获取特定领域信息的需求越来越高。聚类作为一种数据分析的重要方法,旨在根据对象间的相近程度将无标注的数据划分为若干聚簇。与分类不同,聚类是一种无监督学习,不需要任何有标注的训练数据。研究者已经提出了很多聚类算法,比如,基于距离的聚类(K-Means)、基于密度的聚类(DENCLUE)和基于网格的聚类(CLIQUE)等等。在现实生活中,聚类在很多领域也有着广泛的应用,例如,自然语言处理、多文档自动文摘、搜索引擎等。聚类是数据挖掘领域一种重要的数据分析方法,它根据数据间的相似度将无标注数据划分为若干聚簇。CSDP是一种基于密度的聚类算法,当数据量较大或数据维数较高时,聚类的效率相对较低。为了提高聚类算法的效率,本文提出了一种基于密度的分布式聚类方法MRCSDP。为了将本文提出的聚类算法描述清楚,本文首先给出了聚类的概念与意义,给出CSDP的算法详细内容,并且分析了CSDP聚类方法的优缺点。在之后给出了MapReduce的计算框架的结构,该分布式计算框架主要包含两个阶段一个是Map阶段,一个是Reduce阶段,本文同时给出了一些关于分布式计算生态系统Hadoop的内容,主要涉及HDFS和YARN两种组件。在描述算法的章节中,本文定义了独立计算单元和独立计算块的概念,然后给出了MRCSDP的具体算法细节。为构建独立计算单元和独立计算块,在集群中进行独立计算块的任务的均匀分配,首先需要将数据拆分为若干均等的数据块。然后进行分布式计算得到数据块的局部密度,将局部密度合并得到全局密度,根据全局密度计算中心值,由全局密度和中心值计算得到每个数据块中候选聚簇中心。最后从候选聚簇中心中选举出全局的聚簇中心。MRCSDP在充分降低时间复杂度的基础上得到较好的聚类效果。为验证算法的正确性和相对于其他分布式算法该算法的优缺点,本文进行了五组实验。第一组实验主要比对不同参数对聚类准确度的影响,第二组,第三组实验进行MRCSDP与原有算法对比,主要对比准确率和运行效率,第四组和第五组实验进行MRCSDP与当前已有的分布式聚类算法的比较。实验结果表明,分布式环境下的聚类方法MRCSDP相对于CSDP更能快速有效地处理大规模数据,并使各计算节点负载均衡,而且在某些领域相对于其他分布式聚类算法该算法有一定的优势。