hadoop学习--K-Means算法实现

本文档介绍了如何使用Hadoop MapReduce实现K-Means聚类算法。步骤包括随机选择初始中心点,计算点到中心的距离并归类,更新中心点,直至中心点稳定。代码中,CenterInitial函数初始化中心,map阶段进行距离计算和归类,reduce阶段计算新中心,Newcenter函数比较新旧中心判断聚类是否结束。运行参数如`2 input.txt output`表示2个聚类中心。源代码可在GitHub找到,参考链接提供了更多细节。
摘要由CSDN通过智能技术生成

本例子介绍使用hadoop做聚类分析。通过mapreduce实现KMeans算法。

1、KMeans算法介绍

k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
假设要把样本集分为c个类别,算法描述如下:
(1)适当选择c个类的初始中心;
(2)在第k次迭代中,对任意一个样本,求其到c各中心的距离,将该样本归到距离最短的中心所在的类;
(3)利用均值等方法更新该类的中心值;
(4)对于所有的c个 聚类中心,如果利用(2)(3)的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值