算法步骤如下:
1、初始化
已知数据集合X,及事先指定聚类的总类数N,在X中随机选取N个对象作为初始的聚类中心。
2、设定迭代终止条件
通常设置最大循环次数或者聚类中心的变化误差。
3、更新样本对象所属类
根据距离准则将数据对象分配到距离最接近的类。
4、更新类的中心位置
将每一类的平均向量作为下次迭代的聚类中心。
5、重复步骤3~4,满足步骤2中的迭代终止条件时,停止
Matlab代码见下图:
K均值聚类算法-Matlab代码
二、K均值聚类算法应用举例1、随机生成三组数据
随机生成的三组数据
2、指定聚类个数及初始化各类的中心位置
初始化聚类中心
3、调用K均值聚类得到聚类结果
K均值聚类结果