Agglomerative clustering. It is an unsupervised learning algorithm. It recursively merges the pair of clusters that minimally increase a given linkage distance.
Syntax
parameters = agglomerativefit(X)
parameters = agglomerativefit(X,options)
Inputs
- X
- Training data.
- Type: double
- Dimension: vector | matrix
- options
- Type: struct
-
- n_clusters
- Number of clusters to find (default: 2).
- Type: integer
- Dimension: scalar
- affinity
- Metric used to compute the linkage. Allowed values are 'euclidean' (default), 'l1', 'l2', 'manhattan', 'cosine'. If linkage is 'ward', only 'euclidean' is accepted.
- Type: char
- Dimension: string
- linkage
- Linkage criterion to use. This determines which distance to use between set of observations. The algorithm will merge the pairs of cluster that minimize this criterion. Allowed values are 'ward', 'complete', 'average', 'single'.
- 'ward' minimizes the variance of cluster being merged (default).
- 'average' uses the average of the distances of each observation of the two sets.
- 'complete' uses the maximum distances between all observation of the two sets.
- 'single' uses the minimum of the distances between all observations of the two sets.
- Type: char
- Dimension: string
Outputs
- parameters
- Contains all the values passed to agglomerativefit method as options. Additionally it has below key-value pairs.
- Type: struct
-
- labels
- Cluster labels of each point.
- Type: double
- Dimension: vector
- n_leaves
- Number of leaves in hierarchical tree.
- Type: integer
- Dimension: scalar
- n_samples
- Number of rows in the training data.
- Type: integer
- Dimension: scalar
- n_features
- Number of columns in the training data.
- Type: integer
- Dimension: scalar
Example
Usage of agglomerativefit with options
rand('seed', 2);
XTrain = rand(14, 5);
XTest = rand(2, 5);
options = struct;
options.n_clusters = 2;
parameters = agglomerativefit(XTrain, options);
> parameters
parameters = struct [
affinity: euclidean
labels: [Matrix] 1 x 14
0 1 1 0 1 0 0 0 1 0 0 1 0 0
leaves: 14
linkage: ward
n_clusters: 2
n_features: 5
n_samples: 14
]
Comments
Output 'parameters' should be passed as input to agglomerativepredict function.