PHASE 3 · CLUSTERING
ALGORITHM 13 / 30
DENSITY-BASED
DBSCAN
Density-Based Spatial Clustering of Applications with Noise
Core Concept
DBSCAN groups together points that are densely packed and labels
lonely points in sparse regions as noise. Unlike k-Means, you never
tell it how many clusters to find — it discovers arbitrarily shaped
clusters (crescents, rings, blobs) directly from the geometry of the data,
and it is naturally robust to outliers.
Key Components
ε (eps)
The neighborhood radius. How close two points must be to count as neighbors.
minPts
Minimum neighbors within ε for a point to qualify as dense (a core point).
Point Types
Core (dense), Border (near a core, sparse), Noise (isolated outlier).
Density-Reachable
Chaining core points by ε-neighborhoods grows a single cluster outward.
How It Works
- Pick an unvisited point and count neighbors inside its ε-radius.
- If neighbors ≥ minPts, it's a core point → start a new cluster.
- Absorb all density-reachable points, expanding the cluster outward.
- Points near a core but below minPts become border points.
- Points reachable from nothing dense are flagged as noise.
core(p) ⇔ |Nε(p)| ≥ minPts
Real-World Applications
🗺️ Geospatial hotspot detection
🚨 Anomaly / fraud detection
🛰️ Satellite & LIDAR segmentation
🖼️ Image region grouping
👥 Customer density segments
Checkpoint Questions
- Why can DBSCAN find crescent-shaped clusters that k-Means fundamentally cannot?
- What happens to your clustering if you set ε too large? Too small?
- Distinguish a border point from a noise point — what's the deciding condition?