class ibex.sklearn.cluster.AgglomerativeClustering(n_clusters=2, affinity='euclidean', memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', pooling_func=<function mean>)

Bases: sklearn.cluster.hierarchical.AgglomerativeClustering, ibex._base.FrameMixin


The documentation following is of the class wrapped by this class. There are some changes, in particular:

Agglomerative Clustering

Recursively merges the pair of clusters that minimally increases a given linkage distance.

Read more in the User Guide.

  • n_clusters (int, default=2) – The number of clusters to find.
  • affinity (string or callable, default: "euclidean") – Metric used to compute the linkage. Can be “euclidean”, “l1”, “l2”, “manhattan”, “cosine”, or ‘precomputed’. If linkage is “ward”, only “euclidean” is accepted.
  • memory (None, str or object with the joblib.Memory interface, optional) – Used to cache the output of the computation of the tree. By default, no caching is done. If a string is given, it is the path to the caching directory.
  • connectivity (array-like or callable, optional) – Connectivity matrix. Defines for each sample the neighboring samples following a given structure of the data. This can be a connectivity matrix itself or a callable that transforms the data into a connectivity matrix, such as derived from kneighbors_graph. Default is None, i.e, the hierarchical clustering algorithm is unstructured.
  • compute_full_tree (bool or 'auto' (optional)) – Stop early the construction of the tree at n_clusters. This is useful to decrease computation time if the number of clusters is not small compared to the number of samples. This option is useful only when specifying a connectivity matrix. Note also that when varying the number of clusters and using caching, it may be advantageous to compute the full tree.
  • linkage ({"ward", "complete", "average"}, optional, default: "ward") –

    Which linkage criterion to use. The linkage criterion determines which distance to use between sets of observation. The algorithm will merge the pairs of cluster that minimize this criterion.

    • ward minimizes the variance of the clusters being merged.
    • average uses the average of the distances of each observation of the two sets.
    • complete or maximum linkage uses the maximum distances between all observations of the two sets.
  • pooling_func (callable, default=np.mean) – This combines the values of agglomerated features into a single value, and should accept an array of shape [M, N] and the keyword argument axis=1, and reduce it to an array of size [M].

array [n_samples] – cluster labels for each point


int – Number of leaves in the hierarchical tree.


int – The estimated number of connected components in the graph.


array-like, shape (n_nodes-1, 2) – The children of each non-leaf node. Values less than n_samples correspond to leaves of the tree which are the original samples. A node i greater than or equal to n_samples is a non-leaf node and has children children_[i - n_samples]. Alternatively at the i-th iteration, children[i][0] and children[i][1] are merged to form node n_samples + i

fit(X, y=None)[source]


The documentation following is of the class wrapped by this class. There are some changes, in particular:

Fit the hierarchical clustering on the data

X : array-like, shape = [n_samples, n_features]
The samples a.k.a. observations.

y : Ignored


fit_predict(X, y=None)


The documentation following is of the class wrapped by this class. There are some changes, in particular:

Performs clustering on X and returns cluster labels.

X : ndarray, shape (n_samples, n_features)
Input data.
y : ndarray, shape (n_samples,)
cluster labels