scipy.cluster.hierarchy.leaders¶
-
scipy.cluster.hierarchy.leaders(Z, T)[source]¶ Return the root nodes in a hierarchical clustering.
Returns the root nodes in a hierarchical clustering corresponding to a cut defined by a flat cluster assignment vector
T. See thefclusterfunction for more information on the format ofT.For each flat cluster \(j\) of the \(k\) flat clusters represented in the n-sized flat cluster assignment vector
T, this function finds the lowest cluster node \(i\) in the linkage tree Z such that:- leaf descendents belong only to flat cluster j
(i.e.
T[p]==jfor all \(p\) in \(S(i)\) where \(S(i)\) is the set of leaf ids of leaf nodes descendent with cluster node \(i\)) - there does not exist a leaf that is not descendent with
\(i\) that also belongs to cluster \(j\)
(i.e.
T[q]!=jfor all \(q\) not in \(S(i)\)). If this condition is violated,Tis not a valid cluster assignment vector, and an exception will be thrown.
Parameters: - Z : ndarray
The hierarchical clustering encoded as a matrix. See
linkagefor more information.- T : ndarray
The flat cluster assignment vector.
Returns: - L : ndarray
The leader linkage node id’s stored as a k-element 1-D array where
kis the number of flat clusters found inT.L[j]=iis the linkage cluster node id that is the leader of flat cluster with id M[j]. Ifi < n,icorresponds to an original observation, otherwise it corresponds to a non-singleton cluster.For example: if
L[3]=2andM[3]=8, the flat cluster with id 8’s leader is linkage node 2.- M : ndarray
The leader linkage node id’s stored as a k-element 1-D array where
kis the number of flat clusters found inT. This allows the set of flat cluster ids to be any arbitrary set ofkintegers.
- leaf descendents belong only to flat cluster j
(i.e.
