0 前言
主要讲解K均值聚类的算法原理,以及介绍如何利用Python实现具体的算法,其中包括:
- 介绍K均值聚类的算法原理,使用sklearn实现算法;
- 利用轮廓系数(Silhouette Coefficient)控制聚类簇数K;
- 绘制轮廓系数随K波动的折线图,绘图分类后的散点。
系统及配置 :
- 系统: win7 x64
- Python版本: 3.6.4
- 主要第三方库: scikit-learn 0.21.2 \\ matplotlib 3.1.0 \\
1 K均值聚类
1.1 简介
k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。