简介

 

本节只记录系统聚类法

 

 

聚类的评估

 

常见的聚类算法

 

划分方法(partitioning method)

 

K-means算法

 

K-medoids算法

 

层次方法(hierarchical method)

 

BIRCH算法

 

CURE算法

CURE(Clustering Using Representative)算法选择基于质心和基于代表对象方法之间的中间策略。它不用单个质心或对象来代表一个簇,而是选择数据空间中固定数目的具有代表性的点。针对大型数据库,CURE采用随机取样和划分两种方法的组合:一个随机样本首先被划分,每个划分再被部分聚类。

 

ROCK算法

CURE算法不能处理枚举型数据,而ROCK算法是在CURE基础之上适用于枚举数据的聚结分层聚类算法。通过把两个聚类的聚集相互连接度(aggregate interconnectivity)与用户定义的静态相互连接模型相比较,从而度量两个聚类之间的相似度。其中,两个聚类的相互连接度是指两个聚类之间的交叉连接数目,而连接link(pi,pj)是指这两点之间的共同邻居数。换句话说,聚类相似度是用不同聚类中又共同邻居的点的数目来确定的。

ROCK算法首先用相似度阀值和共同邻居的概念,从给定的数据相似度矩阵中构建一个稀疏图,然后对该稀疏图使用分层聚类算法进行聚类。

Chameleon算法

Chameleon(变色龙)是一个利用动态模型的层次聚类算法。算法思想是:首先通过一个图划分算法将数据对象聚类为大量相对较小的子聚类,然后用一个凝聚的层次聚类算法通过反复地合并子类来找到真正的结果簇。它既考虑了互连性,又考虑了簇间的近似度,特别是簇内部的特征,来确定最相似的子簇。

Chameleon跟CURE和DBSCAN相比,在发现高质量的任意形状的聚类方面有更强的能力。但是,在最坏的情况下,高维数据的处理代价可能对n个对象需要O(n^2) 的时间。

总的来说,层次的方法的缺陷在于,一旦一个步骤(合并或分裂)完成,它就不能被撤消,该技术的一个主要问题是它不能更正错误的决定。有两种方法可以改进层次聚类的结果:

 

 

 

 

算法总结

算法名称可伸缩性适合的数据类型高维性异常数据的抗干扰性聚类形状算法效率
WaveCluster很高数值型很高较高任意形状很高
ROCK很高混合型很高很高任意形状一般
BIRCH较高数值型较低较低球形很高
CURE较高数值型一般很高任意形状较高
K-Prototypes一般混合型较低较低任意形状一般
DENCLUE较低数值型较高一般任意形状较高
OptiGrid一般数值型较高一般任意形状一般
CLIQUE较高数值型较高较高任意形状较低
DBSCAN一般数值型较低较高任意形状一般
CLARANS较低数值型较低较高球形较低

 

 

Q型聚类分析

 

 

样本的相似性度量

 

距离

 

闵式(Minkowski)距离(也称明考夫斯距离)
优点

 

缺点

 

马氏距离
缺点

 

兰氏距离

 

类与类间的相似性度量

 

 

R型聚类分析

 

变量相识性度量

 

变量聚类法

 

 

 

实现

matlab

 

函数介绍

pdist

 

linkage

 

cluster

 

zsore

 

clusterdata

 

squareform

 

dendrogarm

 

cophenet

 

 

 

效果

50

 

 

参考

SAS

 

CLUSTER过程步

基本语法

 

 

参考