K-means 算法的基本步骤:
1.从 n个数据对象任意选择 k 个对象作为初始聚类中心迭代
2.通过把每个点分配给最近的聚类中心,从而形成K个类 重新计算每个类的聚类中心
3.终止 如果计算后,聚类中心不发生改变
看图:仔细看每张图的变化 更易理解 (k = 2)
K-means 算法优点
算法框架清晰,简单,容易理解。
本算法确定的k个划分到达平方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。
对于处理大数据集,这个算法是相对可伸缩和高效的,计算的复杂度为O(NKt),其中N是数据对象的数目,t是迭代的次数。一般来说,K<<N,t<<N 。
K-means 算法缺点
K-means算法中k是事先给定的,这个k值的选定是非常难以估计的。
算法的时间开销是非常大的。
K-means算法对异常数据很敏感。在计算质心的过程中,如果某个数据很异常,在计算均值的时候,会对结果影响非常大。