pyckmeans.ordering package

Module contents

Module for distance matrix ordering.

exception pyckmeans.ordering.InvalidLinkageType

Bases: Exception

exception pyckmeans.ordering.InvalidReorderMethod

Bases: Exception

pyckmeans.ordering.condensed_form(dist: numpy.ndarray) numpy.ndarray

Convert n*n distance matrix to condensed vector form.

Parameters
distnumpy.ndarray

n * n distance matrix.

Returns
numpy.ndarray

Distance matrix in condensed vector form as expected by scipy.cluster.hierarchy.linkage.

pyckmeans.ordering.distance_order(dist: Union[numpy.ndarray, pyckmeans.distance.DistanceMatrix], method: str = 'GW', linkage_type: str = 'average') numpy.ndarray

Get optimal distance matrix order.

Parameters
distUnion[numpy.ndarray, ‘pyckmeans.distance.DistanceMatrix’]

A n * n distance matrix as either numpy.ndarray or as pyckmeans.distance.DistanceMatrix object.

methodstr

Reordering method. Either ‘GW’ (Gruvaeus & Wainer, 1972) or ‘OLO’ for scipy.hierarchy.optimal_leaf_ordering.

Gruvaeus, G., H., Wainer. 1972. Two Additions to Hierarchical Cluster Analysis. The British Psychological Society 25.

linkage_typestr

Linkage type for the hierarchical clustering. One of

  • ‘average’

  • ‘complete’

  • ‘single’

  • ‘weighted’

  • ‘centroid’

See scipy.cluster.hierarchy.linkage for details.

Returns
numpy.ndarray

Optimal order as vector.

Raises
InvalidReorderMethod

Raised if an unknown reordering method is passed.

InvalidLinkageType

Raised if an unknown linakage type is passed.

pyckmeans.ordering.reorder_distance(dist: Union[numpy.ndarray, pyckmeans.distance.DistanceMatrix], method: str = 'GW', linkage_type: str = 'average') Union[numpy.ndarray, pyckmeans.distance.DistanceMatrix]

Reorder distance matrix using hierarchical clustering.

Parameters
distUnion[numpy.ndarray, ‘pyckmeans.distance.DistanceMatrix’]

A n * n distance matrix as either numpy.ndarray or as pyckmeans.distance.DistanceMatrix object.

methodstr

Reordering method. Either ‘GW’ (Gruvaeus & Wainer, 1972) or ‘OLO’ for scipy.hierarchy.optimal_leaf_ordering.

Gruvaeus, G., H., Wainer. 1972. Two Additions to Hierarchical Cluster Analysis. The British Psychological Society 25.

linkage_typestr

Linkage type for the hierarchical clustering. One of

  • ‘average’

  • ‘complete’

  • ‘single’

  • ‘weighted’

  • ‘centroid’

See scipy.cluster.hierarchy.linkage for details.

Returns
Union[numpy.ndarray, ‘pyckmeans.distance.DistanceMatrix’]

The sorted distance matrix as either numpy.ndarray or pyckmeans.distance.DistanceMatrix, depending on the input.

Raises
InvalidReorderMethod

Raised if an unknown reordering method is passed.

InvalidLinkageType

Raised if an unknown linakage type is passed.

pyckmeans.ordering.reorder_linkage_gw(linkage: numpy.ndarray, dist: numpy.ndarray) numpy.ndarray

Reorder linkage matrix using the algorithm described by Gruvaeus & Wainer (1972) [1].

Parameters
linkagenumpy.ndarray

Linkage matrix as returned from scipy.cluster.hierarchy.linkage.

distnumpy.ndarray

n * n distance matrix.

Returns
numpy.ndarray

Reordered linkage matrix.

References

1

Gruvaeus, G., H., Wainer. 1972. Two Additions to Hierarchical Cluster Analysis. The British Psychological Society 25.