基于相似度矩阵的K—neans算法的MapReduce并行化实现
2017-10-21曹奇敏刘鸿霞
曹奇敏 刘鸿霞



摘要:为了提高基于相似度矩阵的K-Means算法(SMK-means)处理大数据的能力,它使用MapReduce分布式编程模型,并结合SMK-means算法自身的特点,设计出了SMK-means算法基于MapReduce的并行化实现。通过设计Map和Re-duce函数实现了SMK-means算法的并行化。Map函数通过计算样本和聚簇中心的相似度来确定样本的聚簇归属,Re-duce函数用于完成聚簇中心的计算。实验结果证明,基于MapReduce的并行化的SMK-means算法在保证文本挖掘性能不降的前提下,使得运行效率得到了大幅度提升。
关键词:K-Means算法;相似度矩阵;MapReduce模型;并行计算;文本挖掘
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)18-0018-03
1概述
随着大数据时代的到来,人们所接触到的数据量成PB级别快速增长,同时还要求快速高效地处理所得到的数据。对于数据处理有两方面的要求,一是要比数据产生的速度快,二是还要达到数据使用者对处理结果的预期。尽管这两个要求通过使用并行计算的框架得到了一定程度上的满足,但是MPI等传统的并行框架还存在不少缺点,像技术人员需要自己实现对任务分配、集群管理等工作的编码,它在可扩展性上也有一定的限制等问题,这样就直接增高了传统并行框架的使用门槛,也无法将成本控制在一个较低的水平。而MapReduce等并行计算框架的出现较好地解决了并行计算实现难和成本高的问题。本文使用MapReduce并行框架,对基于相似度矩阵的K-Means算法(SMK-means)进行并行化处理。
2 MapReduce编程模型
MapReduce处理大数据集,其关键步骤为Map函数和Re-duce函数的设计与实现。用户根据自己的要求对这两个函数进行自定义,函数的输入与输出都是使用
