一. 介绍
k-Means算法是最经典的基于划分的聚类算法。所谓基于划分的方法是将样本集组成的矢量空间预先初始化,划分为多个区域,每个区域有一个区域中心,对于每个样本,可以建立一种样本到区域中心的映射。通过不断的迭代,不断的重新定位,从一个组移动到另一个组来进行划分。不同的映射方式产生不同的基于划分的聚类算法.k-means算法要求样本点与中心点的欧几里得距离最小。
二. 计算过程
k-Means算法计算过程如下:
(1)导入数据:收集并准备数值型矩阵作为原始数据集;
(2)创建初始质心:指定聚类数k,从原始数据集中随机选取k个对象作为初始质心;
(3)分配:计算数据集中每个对象到所有质心的距离,并将数据点分配到距离最接近的质心,从而形成簇分配矩阵;
(4)重新计算质心:计算簇中所有点的均值,并将均值作为新的质心。
(5)反复执行(3)和(4),直至质心不再移动。
三. 工作流程图例
(1)假设原始样本点如下: