1 随机选取K个对象作为初始的聚类中心
2 计算每个对象与各个子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心
3 聚类的中心根据聚类中现有的对象被重新计算
4 重复2-3直到满足某个终止条件。终止条件:没有对象被重新分配给不同的聚类,没有聚类中心再发生变化,误差平方和局部最小
K值的确定:
1 经验法:结合业务的场景和需求,来决定分几类以确定K值
2 肘部法:在使用聚类算法时,如果没有指定聚类的数量,可以通过肘部法来对K值进行确定。肘部法是通过成本函数来刻画的,通过将不同K值成本函数刻画出来,随着K值的增大,平均畸变程度会不断减小且每个类包含的样本数会减少,于是样本离其中心会更近。但是,随着值继续增大,平均畸变程度的改善效果会不断减低。因此找出K值增大的过程中,畸变程度下降幅度最大的位置所对应的K较为合理。
3 规则法:K = sqrt(n / 2),此种方法存在一定缺点,可能导致聚类的数目较大
评价指标:
1 样本离最近聚类中心的总和 (inertias)
表示样本距离最近的聚类中心的总和,它是作为在没有真实分类标签下的非监督式评估指标,该值越小越好,值越小证明样本在类间的分布越集中,即类内的距离越小
2 轮廓系数 3 兰德指数 4 同质化得分
优缺点:
优点:1 原理简单,容易实现且收敛速度快;2 聚类效果较好
缺点:1 K值的选取不好确定;2 对于不是凸的数据集比较难收敛;3 如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果较差;4 采用迭代法,得到的结果只是局部最优;5 对噪音和异常点比较敏感。