https://www.cnblogs.com/zy230530/p/7029025.html
k-means算法中的k表示聚类为k个簇,means代表取每一个聚类中数据的均值作为该簇的中心(质心)即用每一个类的质心对该簇进行描述。k-means算法的原理比较简单,但它有缺陷,即其可能收敛到局部最优解(局部最优不如全局最优效果好),且在大规模数据集上收敛速度相对较慢。换种说法,k-means算法是受初始值影响的局部最优的迭代算法。伪代码实现:
创建k个初始值作为初始质心(要位于数据边界内)
if 任意一个点的簇分配结果发生改变:
遍历数据集中的每一个点:
遍历k个质心:
计算质心与数据点之间的距离
将数据点分配到距离其最近的质心的簇
遍历k个簇:
计算每个簇中所有点的均值
得到的k个均值更新为新的质心
原文:https://www.cnblogs.com/zwtgyh/p/10725938.html