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 | 簇间距离的计算方法。
默认:'single' | ||||||||||||||||||||||||
metric | pdist函数接受的任何距离度量。
默认:'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步产生的簇被合并到一些更大的簇中。 |