inconsistent β SciPy v1.16.2 Manual (original) (raw)
scipy.cluster.hierarchy.
scipy.cluster.hierarchy.inconsistent(Z, d=2)[source]#
Calculate inconsistency statistics on a linkage matrix.
Parameters:
Zndarray
The \((n-1)\) by 4 matrix encoding the linkage (hierarchical clustering). See linkage documentation for more information on its form.
dint, optional
The number of links up to d levels below each non-singleton cluster.
Returns:
Rndarray
A \((n-1)\) by 4 matrix where the iβth row contains the link statistics for the non-singleton cluster i. The link statistics are computed over the link heights for links \(d\) levels below the cluster i. R[i,0] and R[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; and R[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) inconsistentfunction.
inconsistent has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.
See Support for the array API standard for more information.
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]])