帮助文档-翻译-Statistics Toolbox-Exploratory Data Analysis-Cluster Analysis-Hierarchical Clustering(linkage)(5)

linkage


凝聚层次聚类树

语法


  Z = linkage(X)

  Z = linkage(X,method)

  Z = linkage(X,method,metric)

  Z = linkage(X,method,pdist_inputs)

  Z = linkage(X,metric,'savememory',value)

  Z = linkage(Y)

  Z = linkage(Y,method)

描述


Z = linkage(X)返回一个矩阵Z,该矩阵是将实矩阵X的行编码为一个层次聚类的数。

Z = linkage(X,method)用特定的方法method生成树,方法描述的是描述聚类间距离的方式。

Z = linkage(X,method,metric)表现的是用距离度量metric来计算X行之间的距离的聚类。

Z = linkage(X,method,pdist_inputs)将参数传给pdist函数,其中该函数计算X行健的距离。

Z = linkage(X,method,metric,'savememory',value)当value为'true'时,用内存节省算法,当value为'false'时,用标准算法。

Z = linkage(Y)利用距离矩阵的向量展示Y。Y可以是由pdist计算出的距离矩阵,或是一个更一般的差异性矩阵符合pdist输出的形式。

Z = linkage(Y,method)用特定的方法method生成树,方法描述的是描述聚类间距离的方式。

输入参数

X                     行数大于等于2的矩阵。行代表观察值,列代表列别或维度。
method

簇间距离的计算方法。

方法            描述
'average'        无权值的平均距离(UPGMA)
'centroid' Centroid距离(UPGMC),只对欧几里得距离适用
'complete' 最远距离
'median' Weighted center of mass distance(UPGMC),只对欧几里得距离适用    
'single' 最近距离
'ward' Inner squared distance(最小方差算法),只对欧几里得距离适用
'weighted' 带权值的平均距离(UPGMA)

默认:'single'

metric

pdist函数接受的任何距离度量。

度量 描述
'euclidean' 欧几里德距离(默认值)
'seuclidean' 标准化后的欧几里德距离。X行间的每个坐标的差值都通过除以标准差S=nanstd(X)的相应值来调整大小。如果要为S另外指定一个值,用D=pdist(X,'seuclidean',S)。
'cityblock' 城市街区度量。
'minkowski' 闵可夫斯基距离。默认指数为2。若要另外知道一个指数,用D=pdist(X,'minkowski',P),其中P为指数值,为一个正标量值。
'chebychev' 契比雪夫距离(坐标差值)。
'mahalanobis' 马氏距离,作为nancov计算以X的样本协方差。如果要用另一个协方差,用D=(X,'mahalanobis',C),其中C是一个正定对称矩阵。
'cosine' 1减去两个点(看作向量)间的夹角的cos值
'correlation' 1减去两个点(看作向量)间的相关系数
'spearman' 1减去两个观测值(看作值的序列)间的斯皮尔曼秩相关系数
'hamming' 汉明距离,不同值坐标的比例。
用户距离函数

由@指定的距离函数:

D = pdist(X,@disfunctional)

一个距离函数必须形式如下:

d2 = distfun(XI,XJ)

作为参数的,一个是1行n列的向量XI,对应X的一行,和一个m2行n列的矩阵XJ,对应X的多行。distfun必须接受XJ矩阵行数任意。distfun必须返回一个距离为d2的m2行1维的向量,其中第k个元素是XI和XJ(k,:)的距离。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

默认:'single'

pdist_inputs  pdist函数接受的以元胞数组为形式的参数。例如,为了将metric设成minkowski并用指数为5,设置pdist_input为{'minkowski',5}。
savememory  一个字符串,为'on'或'off'。当可用的时,'on'设置使得cluserdata能不计算距离矩阵构造聚类。savememory当如下情况适用:

linkage是'centroid','median'或'ward'

distance是'euclidean'(默认)

当savememory是'on'时,linkage运行时间和维度的数目(X的列数)成比例。当savememory是'off'时,linkage内存的需求和N2成比例,其中N是观测值的数目。所有选择最好(耗时最少)的savememory设置取决于问题的维度,观测值的个数,或可用的内存。默认的savememory设置是最优设置的一个粗略近似。

默认:为'on'当X的列数少于或等于20,或计算机没有足够内存来存储距离矩阵时;反之则为'off'。

Y

 距离的向量,其形式与pdist函数的输出相同:

一个长度为m(m-1)/2的行向量,对应m行的矩阵X中的参数对。

如下顺序排列的距离(2,1),(3,1),...,(m,1),(3,2),..,(m,2),...,(m,m-1)

Y可以是一个更一般的差异性矩阵,符合pdist的输出格式。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

输出参数

Z                         

 Z是一个m-1行3列的矩阵,其中m是原始数据中观察值的个数。Z的列1和2包含连在一起的簇标形成一个二叉树。叶子节点从1标号到m。叶子节点是单簇,是所有簇建立在其上的基础。每一个新形成的簇,对应行Z(I,:),被赋予标号m+I。Z(I,1:2)包含形成簇m+I的两个成分的索引。有m-1个更高层聚类对应聚类树的内部节点。Z(I,3)包含行Z(I,:)合并的两个簇之间的连接距离。

举例来说,假设与30个初始节点,在第12步时簇5和簇7合并了。假设它们那时的距离是1.5。那么Z(12,:)将是[5,7,1.5]。这个新形成的簇将会有索引12 + 30 = 42。如果簇42正好出现在下面的行中,意味着第12步产生的簇被合并到一些更大的簇中。

posted @ 2015-09-23 17:51  永远爱数学  阅读(323)  评论(0编辑  收藏  举报