- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种改进K―means聚类算法的MapReduce并行化实现
摘要:针对K-means聚类算法对初始聚类中心点的选择较敏感的问题,本文借鉴最大最小距离的思想,提出了一种改进的K-means聚类算法。该算法通过优化初始聚类中心点来减少算法的迭代次数,提高聚类的性能。采用MapReduce编程模型,将改进的K-means聚类算法并行化设计,使用局部和全局的方法处理数据集,改变了传统分布式K-means聚类算法的工作方式,有效的降低了算法执行过程中的通信开销。实验结果表明改进K-means算法的并行化实现具有良好的加速比。
关键词:MapReduce模型 K-means 分布式聚类
中图分类号:TP301 文献标识码:A 文章编号:1007-9416(2016)12-0134-01
1 引言
聚类分析是一种无监督的机器学习方法,不需要预先对数据集进行训练和测试等操作,是数据挖掘中对数据进行分析处理的重要工具和方法[1]。由于聚类分析算法的简单、高效和易用等特点,其应用范围十分广泛,针对各个领域的聚类算法也不尽相同。其中K-means聚类算法是聚类分析算法中最典型的算法,该算法的优点是简单且易于实现,但随着信息产业的快速发展,需处理数据的规模越来越大,其串行计算的处理能力的局限性更加明显,于是分布式聚类的思想被广泛关注[2-3]。但现有的分布式聚类算法在聚类过程中大多数需传递大量的数据,效率较低。为克服上述缺点,本文使用MapReduce编程模型实现了一种改进K-means算法的分布式聚类。该算法在执行过程中只需要传递各个聚簇信息,就能实现分布式聚类,降低了整个执行过程的通信开销。
2 K-means聚类算法的MapReduce并行化
2.1 算法基本思想
从K-means聚类算法的特点不难看出,其并行化也是一个不断迭代的计算算法,每次迭代都需要消耗大量的时间和通信量,所以本文对K-means聚类算法在初始中心点的确定上进行了改进,借鉴最大最小距离的思想计算出初次聚类的中心点,避免了该算法在随机选择中心点时中心点过于邻近的情况发生,也降低了并行算法的迭代次数。同时,根据MapReduce模型的特点,在算法执行的Map端,使用Combiner类对Map端生成的相同簇ID的数据点信息进行归并,减少了从Map端向Reduce端传输的数据量,从而降低了传输开销。
2.2 算法描述
输入:数据集,聚类中心点个数
输出:个聚类中心点
将原始数据集切块后,存储在HDFS中,Hadoop负责管理切分后的数据块。
Stage1.初始聚类中心的计算。
1)各个Map节点读取存放在本地的数据集,采用最大最小距离算法生成多个聚类集合。
2)在Reduce阶段将Map阶段生成的若干聚类集合采用K-means聚类算法生成个聚类中心点。
3)将生成的聚类中心点信息写入cluster目录中,并将该目录中的文件加入到Hadoop的分布式缓存(DistributedCache)中用来作为下一阶段聚类迭代时的全局共享信息。
Stage2.K-means算法的MapReduce实现。
1)每个Map节点在setup()方法中读入分布式缓存中上一轮迭代产生的簇中心信息。
2)通过Map方法计算每个数据点与各簇中心点距离,找到离其最近的簇中心点,将该簇中心的ID作为key,该数据点信息作为value传输出去。
3)在Map端利用Combiner类将每个Map节点的相同簇ID的键值对分别进行合并,以此减轻数据的网络传输开销。
5)若最近两次临时中心点的变化小于指定值时,则转6),否则转1)。
6)结束。
3 实验结果与分析
3.1 实验环境
该实验利用VMware Workstation虚拟机,在其上虚拟出6台机器,1台作为NameNode和JobTracker服务节点,其他5台作为DataNode和TaskTracker服务节点,每台机器的配置为:Intel i3双核处理器,内存1G,操作系统是CentOS 6.4,Hadoop版本是0.20.2。
3.2单机处理实验分析
本实验使用UCI机器学习库上的OULAD数据集,由于该数据集数据量大,故从中抽取3组数据作为独立的数据集,编号分别为1、2、3,每个数据集包含2000条记录。在相同数据集的条件下,比较K-means和本文改进算法的迭代次数,实验数据如表1所示。从表中可看出,本文改进的聚类算法较传统K-means聚类算法有更好的收敛速度。
3.3 集群加速比性能实验分析
加速比是用来衡量并行系统或并行程序扩展性的重要指标[4],是指一个任务在单处理器系统中
您可能关注的文档
最近下载
- 探究感应电流的产生条件导学案.doc VIP
- 7的乘法口诀教学设计【省一等奖】.docx
- Hasselblad哈苏相机X2D II 100C User Manual - 简体中文用户手册说明书(中文版).pdf
- 中国计量大学803传感器技术1--2011--2020年考研初试真题.pdf VIP
- 参保单位派出证明.docx VIP
- 2025届安徽省“江南十校”高三联考英语试卷(含官方答案)原卷.pdf
- DB23_T(1621.10-1621.14)-2015:黑龙江省建设工程施工操作技术规程(三).pdf VIP
- 12YJ1工程用料做法.docx VIP
- 中考冲刺励志文案【90句】.pdf VIP
- 05175税收筹划自考课程.docx VIP
文档评论(0)