KMeans(K均值)集群

原创文章,转载请注明: 转载自慢慢的回味

本文链接地址: KMeans(K均值)集群

引言

KMeans(K均值)集群算是集群算法中比较简单实现且又比较高效的算法了。
算法接受参数K即分类数,然后将输入数据划分为K个聚类使得:同一聚类中的对象相似度较高,而不同聚类中的对象相似度较小。
它一般的步骤为:
(1) 选择K个初始中心点,例如 C[0] = data[0], C[k-1] = data[k-1]。一般采用随机抽样的方法。
(2) 对于data[0] … data[n], 分别与C[0] … C[k-1]比较,假定与C[i]差值最少,就标记为i。计算差值有多种方式,如向量的距离计算方式。
(3) 对于所有标记为i点,重新计算C[i]={ 所有标记为i的data[j]之和 } / 标记为i的个数。
(4) 重复(2)(3),直到所有C[i]值的变化小于给定阈值或达到输入的最大迭代次数。
以前说过Mahout中的实现kmeans集群算法(cluster-reuters)Fuzzykmeans集群算法(cluster-reuters),本文介绍Spark ML中的实现方式。

代码分析

继续阅读“KMeans(K均值)集群”本作品采用知识共享署名 4.0 国际许可协议进行许可。