直观认识
假设数据集
D={a,b,c,d,e}
, 在D上运行自底向上的层次聚类算法的过程如下图所示:
得到一颗树:
在树中,由同一个根结点分支出去的所有后代节点属于同一个聚类。
算法
自定向上的层次聚类算法伪代码如下:
伪代码中需要详细说明的是计算两个聚类之间距离的方式。这里有四种方式:
最小距离:
distmin(Ci,Cj)=minp∈Ci,p′∈Cj{|p−p′|}
最大距离:
distmax(Ci,Cj)=maxp∈Ci,p′∈Cj{|p−p′|}
均值距离:
distmean(Ci,Cj)=|mi−mj|
平均距离:
distavg(Ci,Cj)=1ninj∑p∈Ci,p′∈Cj|p−p′|
其中,
|p−p′|
是两个对象p和p’之间的距离,
mi
是聚类
Ci
的均值,
ni
是聚类
Ci
中对象的数据。
这些距离度量方式又称为连接度量,其中,最小距离成为单连接度量,最大距离称为全连接度量,平均距离称为平均连接度量。
参考资料:
《Web数据挖掘》第2版,Bing Liu 著, 俞勇 译
《数据挖掘概念与技术》第3版,Jiawei Han,Micheline Kamber,Jian Pei 著,范明,孟小峰 译