-
class sklearn.cluster.AgglomerativeClustering(n_clusters=2, affinity='euclidean', memory=Memory(cachedir=None), connectivity=None, compute_full_tree='auto', linkage='ward', pooling_func=)
[source] -
Agglomerative Clustering
Recursively merges the pair of clusters that minimally increases a given linkage distance.
Read more in the User Guide.
Parameters: n_clusters : int, default=2
The number of clusters to find.
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.
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 : Instance of joblib.Memory or string (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.
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].Attributes: labels_ : array [n_samples]
cluster labels for each point
n_leaves_ : int
Number of leaves in the hierarchical tree.
n_components_ : int
The estimated number of connected components in the graph.
children_ : 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 nodei
greater than or equal ton_samples
is a non-leaf node and has childrenchildren_[i - n_samples]
. Alternatively at the i-th iteration, children[i][0] and children[i][1] are merged to form noden_samples + i
Methods
fit
(X[, y])Fit the hierarchical clustering on the data fit_predict
(X[, y])Performs clustering on X and returns cluster labels. get_params
([deep])Get parameters for this estimator. set_params
(\*\*params)Set the parameters of this estimator. -
__init__(n_clusters=2, affinity='euclidean', memory=Memory(cachedir=None), connectivity=None, compute_full_tree='auto', linkage='ward', pooling_func=)
[source]
-
fit(X, y=None)
[source] -
Fit the hierarchical clustering on the data
Parameters: X : array-like, shape = [n_samples, n_features]
The samples a.k.a. observations.
Returns: self :
-
fit_predict(X, y=None)
[source] -
Performs clustering on X and returns cluster labels.
Parameters: X : ndarray, shape (n_samples, n_features)
Input data.
Returns: y : ndarray, shape (n_samples,)
cluster labels
-
get_params(deep=True)
[source] -
Get parameters for this estimator.
Parameters: deep : boolean, optional
If True, will return the parameters for this estimator and contained subobjects that are estimators.
Returns: params : mapping of string to any
Parameter names mapped to their values.
-
set_params(**params)
[source] -
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form
<component>__<parameter>
so that it?s possible to update each component of a nested object.Returns: self :
cluster.AgglomerativeClustering()
Examples using
2017-01-15 04:20:38
Please login to continue.