scipy.cluster.hierarchy.to_mlab_linkage¶
- scipy.cluster.hierarchy.to_mlab_linkage(Z)[源代码]¶
将链接矩阵转换为与MATLAB(TM)兼容的矩阵。
转换链接矩阵
Z
由该模块的链接功能生成到与MATLAB(TM)兼容的模块。返回链接矩阵删除了最后一列,并将聚类索引转换为1..N
正在编制索引。- 参数
- Zndarray
生成的链接矩阵
scipy.cluster.hierarchy
。
- 退货
- to_mlab_linkagendarray
与MATLAB(TM)的分级聚类功能兼容的链接矩阵。
返回链接矩阵删除了最后一列,并将聚类索引转换为
1..N
正在编制索引。
参见
linkage
有关链接矩阵是什么的说明,请参阅。
from_mlab_linkage
将Matlab格式转换为SciPy格式。
示例
>>> from scipy.cluster.hierarchy import ward, to_mlab_linkage >>> from scipy.spatial.distance import pdist
>>> X = [[0, 0], [0, 1], [1, 0], ... [0, 4], [0, 3], [1, 4], ... [4, 0], [3, 0], [4, 1], ... [4, 4], [3, 4], [4, 3]]
>>> Z = ward(pdist(X)) >>> 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
已经创建,我们可以使用scipy.cluster.hierarchy.to_mlab_linkage
要将其转换为MATLAB格式,请执行以下操作:>>> mZ = to_mlab_linkage(Z) >>> mZ 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]])
新的连杆矩阵
mZ
对所有簇使用1索引(而不是0索引)。此外,还删除了原始链接矩阵的最后一列。