聚类分析的Matlab 程序—系统聚类
(1)计算数据集每对元素之间的距离,对应函数为pdistw.
调用格式:Y=pdist(X),Y=pdist(X,’metric’), Y=pdist(X,’distfun’),Y=pdist(X,’minkowski’,p)
说明:X是m*n的矩阵,metric是计算距离的方法选项:
metric=euclidean表示欧式距离(缺省值);
metric=seuclidean表示标准的欧式距离;
metric=mahalanobis表示马氏距离。
distfun是自定义的距离函数,p是minkowski距离计算过程中的幂次,缺省值为2.Y返回大小为m(m-1)/2的距离矩阵,距离排序顺序为(1,2),(1,3),…(m-1,m),Y也称为相似矩阵,可用squareform将其转化为方阵。
(2)对元素进行分类,构成一个系统聚类树,对应函数为linkage.
调用格式:Z=linkage(Y), Z=linkage(Y,’method’)
说明:Y是距离函数,Z是返回系统聚类树,method是采用的算法选项,
如下:method=single表示最短距离(缺省值);
complete表示最长距离;median表示中间距离法;
centroid表示重心法;average表示类平均法;
ward 表示离差平方和法(Ward法)。