
划分(分裂)方法
层次分析方法
基于密度的方法
基于网格的方法
基于模型的方法
K-Means 算法(K-平均)、K-MEDOIDS 算法(K-中心点)、CLARANS
算法(基于选择的算法)
BIRCH 算法(平衡迭代规约和聚类)、CURE 算法(代表点聚类)、
CHAMELEON 算法(动态模型)
DBSCAN 算法(基于高密度连接区域)、DENCLUE 算法(密度分
布函数)、OPTICS 算法(对象排序识别)
STING 算法(统计信息网络)、CLIOUE 算法(聚类高维空间)、
WAVE-CLUSTER 算法(小波变换)
统计学方法、神经网络方法
常用聚类算法见表 9-2。
表 9-2 常用聚类分析算法
算法名称
K-Means
K-中心点
算法描述
K-均值聚类也叫快速聚类法,在最小化误差函数的基础上将数据划分为预定
的类数 K。该算法原理简单并便于处理大量数据。
K-均值算法对孤立点的敏感性,K-中心点算法不采用簇中对象的平均值作为
簇中心,而选用簇中离平均值最近的对象作为簇中心。
系统聚类也叫多层次聚类,分类的单位由高到低呈树形结构,且所处的位置越
低,其所包含的对象就越少,但这些对象间的共同特征越多。该聚类方法只适
合在小数据量的时候使用,数据量大的时候速度会非常慢。
系统聚类
9.1.2 K-Means 聚类算法
K-Means 算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础上将数
据划分为预定的类数 K,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其
相似度就越大。
1. 算法过程
1) 从 N 个样本数据中随机选取 K 个对象作为初始的聚类中心;
2) 分别计算每个样本到各个聚类中心的距离,将对象分配到距离最近的聚类中;
3) 所有对象分配完成后,重新计算 K 个聚类的中心;
4) 与前一次计算得到的 K 个聚类中心比较,如果聚类中心发生变化,转 2),否则转
5);
5) 当质心不发生变化时停止并输出聚类结果。
聚类的结果可能依赖于初始聚类中心的随机选择,可能使得结果严重偏离全局最优分
类。实践中,为了得到较好的结果,通常以不同的初始聚类中心,多次运行 K-Means 算法。
在所有对象分配完成后,重新计算 K 个聚类的中心时,对于连续数据,聚类中心取该簇的
均值,但是当样本的某些属性是分类变量时,均值可能无定义,可以使用K-众数方法。