论文部分内容阅读
随着互联网的蓬勃发展,数据的规模不断扩大,从KB量级发展到TB甚至PB量级。如何从海量的数据中快速有效地挖掘出对用户有用的知识,是数据挖掘所面临的一个新的挑战。Hadoop是一个开源的云计算平台,可以实现海量数据的高效存储和分析。聚类分析是数据挖掘的重要分支,基于Hadoop平台的聚类研究是一个新的热点。 论文研究了云计算技术和聚类分析技术,着重研究了基于Hadoop平台的聚类方法。主要内容包括: (1)研究云计算技术。重点对 Hadoop平台的分布式文件系统(HDFS)和编程模型(MapReduce)的核心架构、技术以及相关的机制进行深入研究和分析,为算法设计和实现奠定坚实基础。 (2)研究聚类分析技术。重点研究了聚类算法的基本流程、设计要求和评估标准,剖析了基于层次、基于划分、基于密度以及面向高维数据的聚类算法思想,分析了基于云计算平台聚类分析技术的研究现状。 (3)针对现有很多聚类算法不能有效迁移到云计算平台的问题,提出一种能在Hadoop平台实现高效并行化的聚类算法bigKClustering。算法借鉴微簇的思想,将数据划分后得到的每个分组抽象成一个特征向量,并将它当做一个虚拟点处理,可以保证比较紧凑的点始终属于同一个簇,提高聚类质量。算法在聚类过程中只对原始数据进行一次划分,避免了很多传统聚类算法迭代操作原始数据集的做法,仅需少数几个job就能在MapReduce框架上完成并行化操作。实验结果表明,bigKClustering算法不仅具有良好的时间效率和聚类效果,同时具有良好的可伸缩性和时间稳定性。 (4)针对 MapReduce在执行算法过程中产生大量中间值的问题,提出SnIClustering聚类算法。算法借鉴采样和过滤的思想,尽量减少最终聚类过程所涉及到的数据量。首先,使用概率采样的方式从原始数据集中抽取极少量具有全局代表性的样本;然后,根据这些样本的分布特征对原始数据集进行有效过滤;最后,在单个节点上对过滤后保留下来的数据和样本进行聚类。实验结果表明,SnIClustering算法具有良好的时间效率和较高的聚类质量,同时具有良好的可伸缩性。