DBSCAN is a density-based clustering algorithm.
Process
Parameters: $\varepsilon$ (epsilon), $n$ (min points)
- Start with an arbitrary unvisited point $p$
- Find all points within $\varepsilon$ radius (neighbors)
- If number of neighbors $\geq n$:
- Create a new cluster
- Add $p$ and its neighbors to the cluster
- For each neighbor: find its neighbors, expand cluster if $\geq n$
- Mark processed points as visited
- Repeat until all points are processed
Pros: Discovers arbitrary cluster shapes
Cons: Two parameters to tune, fixed $\varepsilon$ can’t handle varying densities