scipy.cluster.hierarchy.from_mlab_linkage

scipy.cluster.hierarchy.from_mlab_linkage(Z)[源代码]

将由MATLAB(TM)生成的链接矩阵转换为与该模块兼容的新链接矩阵。

转换会做两件事:

  • 索引从 1..N0..(N-1) 表格,以及

  • 第四列 Z[:,3] 添加到以下位置 Z[i,3] 表示非单一群集中的原始观测值(叶)数 i

当从MATLAB生成的旧数据文件加载链接时,此函数非常有用。

参数
Zndarray

由MATLAB(TM)生成的链接矩阵。

退货
ZSndarray

与以下内容兼容的链接矩阵 scipy.cluster.hierarchy

参见

linkage

有关链接矩阵是什么的说明,请参阅。

to_mlab_linkage

将SciPy格式转换为MATLAB格式。

示例

>>> import numpy as np
>>> from scipy.cluster.hierarchy import ward, from_mlab_linkage

给定MATLAB格式的链接矩阵 mZ ,我们可以使用 scipy.cluster.hierarchy.from_mlab_linkage 要将其导入到SciPy格式,请执行以下操作:

>>> mZ = np.array([[1, 2, 1], [4, 5, 1], [7, 8, 1],
...                [10, 11, 1], [3, 13, 1.29099445],
...                [6, 14, 1.29099445],
...                [9, 15, 1.29099445],
...                [12, 16, 1.29099445],
...                [17, 18, 5.77350269],
...                [19, 20, 5.77350269],
...                [21, 22,  8.16496581]])
>>> Z = from_mlab_linkage(mZ)
>>> Z
array([[  0.        ,   1.        ,   1.        ,   2.        ],
       [  3.        ,   4.        ,   1.        ,   2.        ],
       [  6.        ,   7.        ,   1.        ,   2.        ],
       [  9.        ,  10.        ,   1.        ,   2.        ],
       [  2.        ,  12.        ,   1.29099445,   3.        ],
       [  5.        ,  13.        ,   1.29099445,   3.        ],
       [  8.        ,  14.        ,   1.29099445,   3.        ],
       [ 11.        ,  15.        ,   1.29099445,   3.        ],
       [ 16.        ,  17.        ,   5.77350269,   6.        ],
       [ 18.        ,  19.        ,   5.77350269,   6.        ],
       [ 20.        ,  21.        ,   8.16496581,  12.        ]])

不出所料,链接矩阵 Z 返回的内容包括一个额外的列,该列计算每个簇中的原始样本数。此外,所有簇索引都减1(MATLAB格式使用1索引,而SciPy使用0索引)。