官网
http://spark.apache.org/docs/latest/mllib-clustering.html#k-means
Kmeans原理介绍
聚类介绍
聚类kmeans 算法是一个无监督学习过程。一般是用来对数据对象按照其特征属性进行分组。经常被应用在客户分群、欺诈检测、图像分析领域。K-means是最有名并且最经常使用的聚类算法
算法介绍:
KMeans算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇,然后按照平均法重新计算各个簇的质心,从而确定簇心,一直迭代,直到簇心的移动距离小于某个给定的值。
K-means 算法是一个迭代式的算法,其运算过程如下:
1、 选择k个点作为初始聚类中心。(k需要我们程序自己设置)
2、 计算其余所有点到聚类中心的距离,并把每个点划分到离它最近的聚类中心所在的聚类中。最常用的衡量距离的函数式欧几里得距离,叫做欧式距离。
3、 重新计算每个聚类中所有点的平均值,并将其作为新的聚类中心点。
4、 重复2,3步的过程,直至聚类中心不再发生变化,或者算法达到预定的迭代次数(程序自己设置),又或者聚类中心的改变小于预定设定的阀值。
举个例子介绍: