The one question.
DBSCAN never computes a center. It only ever asks, of one point at a time:
are there at least minPts points within ε of me? If yes, that
point is core and the cluster grows through it — every point inside its circle is
swallowed, and each of those gets asked the same question. If no, the point is parked as
noise, though a later cluster may still reach it and claim it as a border point.
The pale blobs are the union of the ε-circles of every core point, which is exactly what a
DBSCAN cluster is.
Three things worth trying.
1. Two rings, ε = 30. Press Run and watch one cluster crawl the whole way
around a ring and stop. This is the case k-means cannot do at any k: its boundaries are straight
lines, and no straight line separates two circles that share a center. DBSCAN never draws a
boundary at all — it just follows contact.
2. Smiley, ε = 30. Three clusters and nobody supplied k: two eyes and a
mouth, with the long curve kept in one piece — the exact answer k-means cannot reach at any
k. And it is not a lucky setting: you get the same three clusters anywhere from
ε = 20 to 60. Push ε down to 15 instead and it fragments into seven pieces
— too short a reach and the algorithm loses the thread along the curve.
3. Elongated — two long thin clusters, the identical points used on the k-means and
GMM pages. At the default ε = 30 you get 3 clusters, not 2: the cigars are sparse
along their length, so one of them snaps in the middle (82 points and a stray group of 5). Nudge
ε up to 35 and it settles on the right answer — 86 and 88 points, 6 noise.
Shape was never the problem: DBSCAN does not care that a cluster is stretched, only whether the
points are close enough to chain along it. Compare with k-means on these same points, which puts
about 40% of them in the wrong group and cannot be fixed by restarting.
4. Uniform, and sweep ε slowly. There is no structure in this data, so watch what
the algorithm invents: at ε = 15 almost everything is noise (152 of 160) and it reports 2
clusters; by ε = 30 it claims 11; at ε = 40, 15; and by ε = 60
the whole canvas is a single cluster. Every one of those answers is a fiction. Now compare
Gaussian mixture, which sits on 3 clusters from ε = 30 all the way to 70.
Stability across parameters is the evidence that structure is real — an answer that
moves when you breathe on the slider is not a finding.
| Kind | Test | Drawn as |
|---|---|---|
| Core | at least minPts points within ε, counting itself |
a filled dot — the cluster expands through it |
| Border | not crowded itself, but inside some core point’s circle | a hollow ring — it joins the cluster but never expands it |
| Noise | neither | a small gray cross — it belongs to nothing |