Skip to content
AI360Xpert
Core ML
Visual explainer

DBSCAN

How DBSCAN discovers arbitrarily shaped clusters by defining groups as continuous regions of high density, ignoring sparse noise entirely.

Centroid-based clustering fails on non-spherical shapes.
Centroid-based clustering fails on non-spherical shapes.

When data forms complex shapes like interlocking curves or hollow rings, algorithms that group points around a centre coordinate fail completely. They expect spheres. We need a way to group points that relies on density, not geometry.

The Three Categories

DBSCAN classifies points as Core, Border, or Noise based on local density.
DBSCAN classifies points as Core, Border, or Noise based on local density.

DBSCAN classifies every point based on its immediate surroundings. A point is a Core point if it has a dense crowd around it. If it sits on the edge of a crowd, touching a Core point but lacking a crowd of its own, it is a Border point. Everything else is Noise.

Chain Reactions

Clusters grow by linking adjacent core points together in a chain.
Clusters grow by linking adjacent core points together in a chain.

Clusters are formed not by moving a centre, but by chain reaction. If a Core point's neighbourhood contains another Core point, they merge. This reachability chain snakes through the data, allowing the cluster to take on absolutely any shape as long as the density holds.

Tuning the Knobs

DBSCAN requires two parameters: epsilon (radius) and min_samples (density threshold).
DBSCAN requires two parameters: epsilon (radius) and min_samples (density threshold).

You do not tell DBSCAN how many clusters to find. Instead, you define what "dense" means. You provide two numbers: Epsilon, the radius to look around each point, and Min_samples, the minimum number of neighbours required within that radius to declare a point a Core.

Where It Breaks

The failure: DBSCAN assumes uniform density. It fails when clusters have very different densities.
The failure: DBSCAN assumes uniform density. It fails when clusters have very different densities.

Because Epsilon is a single global threshold, DBSCAN struggles if your dataset has one very tight cluster and one very loose, sparse cluster. If you set the radius small enough to separate the dense groups, the sparse group gets classified entirely as noise.

The Quick Version

  • The goal: Find clusters of arbitrary shapes by following continuous density.
  • Taxonomy: Points are categorised as Core, Border, or Noise.
  • Growth: Clusters expand by chaining adjacent Core points together.
  • No k: You don't pick the cluster count; you pick the density threshold.
  • Failure: A single radius parameter cannot handle clusters of varying densities.

What to Read Next