The Wolfram Language has broad support for non-hierarchical and hierarchical cluster analysis, allowing data that is similar to be clustered together. There is general support for all forms of data, including numerical, textual, and image data. The system implements efficient versions of both classic and modern machine learning-based clustering analysis methods.
FindClusters — find a way to divide data into a list of clusters
ClusteringComponents — label data with the index of the cluster it is in
ClusterClassify — use data to create a function to classify new data into clusters
ClusteringMeasurements — analyze the result of a clustering process
MeanShift ▪ NearestNeighborGraph
Dendrogram — plot a dendrogram of hierarchical clustering of data
ClusteringTree — generate a symbolic tree of hierarchical clustering of data
Clustering in Graphs »
FindGraphCommunities — find closely connected communities in graphs
CommunityGraphPlot — plot graphs showing their community structure
ConnectedComponents ▪ FindGraphPartition ▪ FindClique ▪ FindKClique
Clustering in Images »
ImageForestingComponents ▪ WatershedComponents ▪ GrowCutComponents ▪ ...
DistanceFunction — how to compute distances between elements
ClusterDissimilarityFunction — how to compute dissimilarity between clusters
Weights — weights for different data elements
PerformanceGoal — whether to optimize for speed, memory, quality, training time, etc.
CriterionFunction — how to assess automatically selected methods
Method — manual override for automatic method selection