Intro to DBSCAN
Intro to DBSCAN is a self-contained course on DBSCAN (Density-Based Spatial Clustering of Applications with Noise), from the original 1996 KDD paper to real applications. It pairs derivations and documentation with twelve Jupyter notebooks notebooks and a from-scratch implementation in Python.
Why DBSCAN
DBSCAN groups points that are packed closely together and labels isolated points as noise, without being told how many clusters to find. Its relative HDBSCAN clustering is the core of his galactic merger clustering at NARIT, where stars from the same merger event sit in dense clumps of their orbital properties.
Learning paths
| Path | Time | Covers |
|---|---|---|
| Quick start | 1–2 hours | What DBSCAN does, how it differs from k-means, the eps and min_pts parameters |
| Comprehensive | 8–12 hours | The mathematics: ε-neighbourhoods, density-reachability and connectivity, the algorithm step by step |
| Advanced | 4–6 hours | Parameter tuning, comparison with other algorithms, spatial clustering, anomaly detection, performance |
Notebooks
The twelve notebooks run in order, from a quick start to advanced topics. Each concept is traced back to the original paper, whose PDF is included. The src package has the from-scratch implementation, helpers for tuning parameters and loading data, and visualisations. Tests run in GitHub Actions with code coverage.