scipy.cluster.hierarchy.from_mlab_linkage¶
- scipy.cluster.hierarchy.from_mlab_linkage(Z)[源代码]¶
将由MATLAB(TM)生成的链接矩阵转换为与该模块兼容的新链接矩阵。
转换会做两件事:
索引从
1..N
至0..(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索引)。