#### Previous topic

scipy.cluster.hierarchy.fcluster

#### Next topic

scipy.cluster.hierarchy.leaders

# scipy.cluster.hierarchy.fclusterdata

`scipy.cluster.hierarchy.``fclusterdata`(X, t, criterion='inconsistent', metric='euclidean', depth=2, method='single', R=None)

  Cluster observation data using a given metric.

  Clusters the original observations in the n-by-m data matrix X (n observations in m dimensions), using the euclidean distance metric to calculate distances between original observations, performs hierarchical clustering using the single linkage algorithm, and forms flat clusters using the inconsistency method with t as the cut-off threshold.

  A one-dimensional array `T` of length `n` is returned. `T[i]` is the index of the flat cluster to which the original observation `i` belongs.

  Parameters:

  X : (N, M) ndarray

  > N by M data matrix with N observations in M dimensions.

  t : float

  > The threshold to apply when forming flat clusters.

  criterion : str, optional

  > Specifies the criterion for forming flat clusters. Valid values are ‘inconsistent’ (default), ‘distance’, or ‘maxclust’ cluster formation algorithms. See `fcluster` for descriptions.

  metric : str, optional

  > The distance metric for calculating pairwise distances. See `distance.pdist` for descriptions and linkage to verify compatibility with the linkage method.

  depth : int, optional

  > The maximum depth for the inconsistency calculation. See `inconsistent` for more information.

  method : str, optional

  > The linkage method to use (single, complete, average, weighted, median centroid, ward). See `linkage` for more information. Default is “single”.

  R : ndarray, optional

  > The inconsistency matrix. It will be computed if necessary if it is not passed.

  Returns:

  fclusterdata : ndarray

  > A vector of length n. T[i] is the flat cluster number to which original observation i belongs.

  See also

  `scipy.spatial.distance.pdist`
    pairwise distance metrics

  Notes

  This function is similar to the MATLAB function `clusterdata`.