This is a pre-release version (2.0.0.dev0+git20260907.41eeb59).Go to latest (1.18.0)
{ } Raw JSON

bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / cluster / hierarchy / _hierarchy_impl / to_mlab_linkage

function

scipy.cluster.hierarchy._hierarchy_impl:to_mlab_linkage

source: build-install/usr/lib/python3.14/site-packages/scipy/cluster/hierarchy/_hierarchy_impl.py:1819

Signature

def to_mlab_linkage(Z)

Summary

Convert a linkage matrix to a MATLAB(TM) compatible one.

Extended Summary

Converts a linkage matrix Z generated by the linkage function of this module to a MATLAB(TM) compatible one. The return linkage matrix has the last column removed and the cluster indices are converted to 1..N indexing.

Parameters

Z : ndarray

A linkage matrix generated by scipy.cluster.hierarchy.

Returns

to_mlab_linkage : ndarray

A linkage matrix compatible with MATLAB(TM)'s hierarchical clustering functions.

The return linkage matrix has the last column removed and the cluster indices are converted to 1..N indexing.

Examples

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.29099,  3.     ],
       [ 5.     , 13.     ,  1.29099,  3.     ],
       [ 8.     , 14.     ,  1.29099,  3.     ],
       [11.     , 15.     ,  1.29099,  3.     ],
       [16.     , 17.     ,  5.7735 ,  6.     ],
       [18.     , 19.     ,  5.7735 ,  6.     ],
       [20.     , 21.     ,  8.16497, 12.     ]])
After a linkage matrix ``Z`` has been created, we can use `scipy.cluster.hierarchy.to_mlab_linkage` to convert it into MATLAB format:
mZ = to_mlab_linkage(Z)
✓
mZ
✗
array([[ 1.     ,  2.     ,  1.     ],
       [ 4.     ,  5.     ,  1.     ],
       [ 7.     ,  8.     ,  1.     ],
       [10.     , 11.     ,  1.     ],
       [ 3.     , 13.     ,  1.29099],
       [ 6.     , 14.     ,  1.29099],
       [ 9.     , 15.     ,  1.29099],
       [12.     , 16.     ,  1.29099],
       [17.     , 18.     ,  5.7735 ],
       [19.     , 20.     ,  5.7735 ],
       [21.     , 22.     ,  8.16497]])
The new linkage matrix ``mZ`` uses 1-indexing for all the clusters (instead of 0-indexing). Also, the last column of the original linkage matrix has been dropped.

See also

from_mlab_linkage

transform from Matlab to SciPy format.

linkage

for a description of what a linkage matrix is.

Aliases

  • scipy.cluster.hierarchy.to_mlab_linkage