Gaussian Mixture Model (GMM) calculator

Perform soft clustering using Gaussian Mixture Models online. Estimate cluster probabilities, covariances, and plot cluster ellipses.

What it does

You want clusters that can be elliptical and differently sized rather than the round, equal blobs k-means assumes. GMM fits each cluster as a Gaussian and assigns each point to its most-likely cluster.

When to use it

Each point gets a cluster label (its most-likely component); clusters are modelled as ellipses, so their spread and orientation can differ. The underlying membership probabilities drive the assignment but are not displayed in this release.

Worked example

You are separating two overlapping populations — say patients with and without a condition, on a blood marker where the ranges overlap. Rather than assigning each person firmly to one group, a mixture model gives a probability of belonging to each, which is the honest answer when the distributions genuinely overlap.

Cautions

Alternatives

How to read the output

Component membership probabilities
Each point gets a probability per component; the displayed label is simply the largest of them. A point assigned at 0.51 and one at 0.99 look identical once labelled. When many points sit near the boundary, the hard labels are far more confident than the model is.
The number of components
Set by you, as in k-means. More components always fit the data better. 'Fits better' is not 'is more real'. Enough components will reproduce any dataset exactly, one per point.
Silhouette
Per point, how much closer it sits to its own cluster than to the nearest other one, averaged over the data. Roughly: above 0.5 is a clean separation, 0.25–0.5 is weak structure, below 0.25 is not a partition worth describing. It measures whether the CUT is clean, not whether the groups mean anything. A high silhouette on variables that are three versions of the same measurement describes your column list, not your subjects.
Whether the data were scaled
Every method here works on distances, and a distance adds up your columns' units. Standardizing puts each variable on the same footing before that sum is taken. Unscaled, the variable with the largest numeric range silently becomes the clustering. Income in pounds against age in years is a clustering of income. Turn scaling off only when the raw units are genuinely comparable and you mean to keep their relative weight.
What the components are
Each is a Gaussian — a bell in several dimensions. Clustering always returns clusters, whether or not any exist — k-means will happily cut uniform noise into four tidy pieces. A partition is a hypothesis, not a finding: check the groups differ on a variable you did NOT cluster on before describing them as real. A mixture of Gaussians can also fit ONE skewed group with two components, which then look like two populations and are not.

How this calculator is validated · Which statistical test should I use?