DBSCAN
How DBSCAN discovers arbitrarily shaped clusters by defining groups as continuous regions of high density, ignoring sparse noise entirely.
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 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 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
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
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.