DBSCAN grew up and stopped asking for epsilon
It finds clusters of varying densities without making you guess the magic epsilon value that plain DBSCAN demands.

What it does
HDBSCAN is a density-based clustering algorithm that runs DBSCAN across many distance scales and keeps the result that proves most stable. Unlike plain DBSCAN, it handles clusters of different densities and asks almost nothing of you at setup time—just a minimum cluster size. It inherits the scikit-learn API, so it slots into existing pipelines without ceremony.
The interesting bit
The implementation is aggressively optimized: the authors claim it beats the reference Java implementation by orders of magnitude and outperforms highly optimized C and C++ single-linkage code. It also bundles soft clustering, outlier detection via GLOSH, and a branch-detection post-processor for spotting non-obvious shapes like flare structures inside clusters.
Key highlights
- Finds clusters of varying densities without manual epsilon tuning
- Exposes cluster hierarchies, persistence scores, and reachability minimal spanning trees with built-in plotting
- Optional soft clustering and GLOSH outlier scores come at no extra compute cost after fitting
- Includes a high-performance single-linkage implementation and a
BranchDetectorfor branching sub-structures - Caches intermediate results with joblib, making re-clustering with new parameters nearly free
Verdict
Data scientists and researchers who need density-based clustering without babysitting epsilon should keep this in their scikit-learn toolkit. If your clusters are all globular and cleanly separated, simpler algorithms will still do the job with less conceptual overhead.
Frequently asked
- What is scikit-learn-contrib/hdbscan?
- It finds clusters of varying densities without making you guess the magic epsilon value that plain DBSCAN demands.
- Is hdbscan open source?
- Yes — scikit-learn-contrib/hdbscan is open source, released under the BSD-3-Clause license.
- What language is hdbscan written in?
- scikit-learn-contrib/hdbscan is primarily written in Jupyter Notebook.
- How popular is hdbscan?
- scikit-learn-contrib/hdbscan has 3.1k stars on GitHub.
- Where can I find hdbscan?
- scikit-learn-contrib/hdbscan is on GitHub at https://github.com/scikit-learn-contrib/hdbscan.