# Cluster Algorithms (`clustering` and `extra`)¶

## Functions¶

 `flat_cluster`(method, threshold, matrix[, ...]) Carry out a flat cluster analysis based on linkage algorithms. `flat_upgma`(threshold, matrix[, taxa, revert]) Carry out a flat cluster analysis based on the UPGMA algorithm (`Sokal1958`). `fuzzy`(threshold, matrix, taxa[, method, revert]) Create fuzzy cluster of a given distance matrix. `link_clustering`(threshold, matrix, taxa[, ...]) Carry out a link clustering analysis using the method by `Ahn2010`. `mcl`(threshold, matrix, taxa[, max_steps, ...]) Carry out a clustering using the MCL algorithm (`Dongen2000`). `neighbor`(matrix, taxa[, distances]) Function clusters data according to the Neighbor-Joining algorithm (`Saitou1987`). `upgma`(matrix, taxa[, distances]) Carry out a cluster analysis based on the UPGMA algorithm (`Sokal1958`). `infomap_clustering`(threshold, matrix[, ...]) Compute the Infomap clustering analysis of the data. `affinity_propagation`(threshold, matrix, taxa) Compute affinity propagation from the matrix. `valid_cluster`(sequence) Only allow to have sequences which have consecutive ordering of elements. `generate_all_clusters`(numbers) Generate all possible clusters for a number of elements. `generate_random_cluster`(numbers[, bias]) Generate a random cluster for a number of elements. Order a cluster into the form of a valid cluster. `mutate_cluster`(clr[, chance]) Mutate a cluster.