Cluster Analysis

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.

Non-hierarchical Clustering

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

Hierarchical Clustering

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