scipy.cluster.hierarchy.inconsistent¶
-
scipy.cluster.hierarchy.
inconsistent
(Z, d=2)[source]¶ Calculate inconsistency statistics on a linkage matrix.
Parameters: Z : ndarray
The \((n-1)\) by 4 matrix encoding the linkage (hierarchical clustering). See
linkage
documentation for more information on its form.d : int, optional
The number of links up to d levels below each non-singleton cluster.
Returns: R : ndarray
A \((n-1)\) by 5 matrix where the
i
’th row contains the link statistics for the non-singleton clusteri
. The link statistics are computed over the link heights for links \(d\) levels below the clusteri
.R[i,0]
andR[i,1]
are the mean and standard deviation of the link heights, respectively;R[i,2]
is the number of links included in the calculation; andR[i,3]
is the inconsistency coefficient,\[\frac{\mathtt{Z[i,2]} - \mathtt{R[i,0]}} {R[i,1]}\]Notes
This function behaves similarly to the MATLAB(TM)
inconsistent
function.Examples
>>> from scipy.cluster.hierarchy import inconsistent, linkage >>> from matplotlib import pyplot as plt >>> X = [[i] for i in [2, 8, 0, 4, 1, 9, 9, 0]] >>> Z = linkage(X, 'ward') >>> print(Z) [[ 5. 6. 0. 2. ] [ 2. 7. 0. 2. ] [ 0. 4. 1. 2. ] [ 1. 8. 1.15470054 3. ] [ 9. 10. 2.12132034 4. ] [ 3. 12. 4.11096096 5. ] [ 11. 13. 14.07183949 8. ]] >>> inconsistent(Z) array([[ 0. , 0. , 1. , 0. ], [ 0. , 0. , 1. , 0. ], [ 1. , 0. , 1. , 0. ], [ 0.57735027, 0.81649658, 2. , 0.70710678], [ 1.04044011, 1.06123822, 3. , 1.01850858], [ 3.11614065, 1.40688837, 2. , 0.70710678], [ 6.44583366, 6.76770586, 3. , 1.12682288]])