《Hadoop与大数据挖掘》一2.5 K-Means算法原理及Hadoop MapReduce实现

本节书摘来华章计算机《Hadoop与大数据挖掘》一书中的第2章 ,第2.5节,张良均 樊 哲 位文超 刘名军 许国杰 周 龙 焦正升 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.5 K-Means算法原理及Hadoop MapReduce实现

2.5.1 K-Means算法原理
K-Means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表。它是将数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则(如图2-45所示)。K-Means算法以欧氏距离作为相似度测度,求对应某一初始聚类中心向量V最优分类,使得评价指标最小。算法采用误差平方和准则函数作为聚类准则函数。


image


具体的算法步骤如下:
1)随机在图中取K(这里K=2)个种子点。
2)然后对图中的所有点求到这K个种子点的距离,假如点Pi离种子点Si最近,那么Pi属于Si点群。图2-45中,我们可以看到A、B属于上面的种子点,C、D、E属于下面中部的种子点。
3)接下来,我们要移动种子点到属于它的“点群”的中心。见图2-45中的第3步。
4)然后重复第2)和第3)步,直到种子点没有移动。我们可以看到图2-45中的第4步上面的种子点聚合了A、B、C,下面的种子点聚合了D、E。
图2-46所示为K-Means算法的流程图。

image


该流程图描述其实和算法步骤类似,不过,这里需要考虑下面几个问题:
1)选择k个聚类中心用什么方法?
提示:可以随机选择或直接取前k条记录。
2)计算距离的方法有哪些?
提示:欧氏距离、余弦距离等。
3)满足终止条件是什么?
提示:使用前后两次的聚类中心误差(需考虑阈值小于多少即可);使用全局误差小于阈值(阈值选择多少?)。
请读者考虑上面的几个问题,并完成下面的动手实践(K-Means算法实现)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值