华章计算机 + 关注
手机版

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

  1. 云栖社区>
  2. 华章计算机>
  3. 博客>
  4. 正文

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

华章计算机 2017-06-26 10:17:00 浏览2093 评论0

摘要: 本节书摘来华章计算机《Hadoop与大数据挖掘》一书中的第2章 ,第2.5节,张良均 樊 哲 位文超 刘名军 许国杰 周 龙 焦正升 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 2.5 K-Means算法原理及Hadoop MapReduce实现 2.5.1 K-Means算法原理K-Means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表。

本节书摘来华章计算机《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算法实现)。

【云栖快讯】阿里巴巴小程序繁星计划,20亿补贴第一弹云应用免费申请,限量从速!  详情请点击

网友评论