hdbscan: Hierarchical density based clustering
Written for the Research library (claude-opus-5-5) from the paper text. Original — theoj.org/joss-papers/joss.00205/10.21105.joss.00205.pdf
Summary
This brief software paper presents hdbscan, an open-source library implementing HDBSCAN, the hierarchical density-based clustering algorithm introduced by Campello, Moulavi and Sander (2013) and extended by Campello et al. (2015). Classic DBSCAN depends on a single fixed epsilon (neighbourhood radius). As a result, it handles poorly datasets whose groups differ in density, and its output shifts noticeably depending on how that radius is chosen. HDBSCAN avoids this by effectively running DBSCAN over a whole range of epsilon values, combining the outcomes into a hierarchy, and keeping the clusters that persist most stably across that range. The package also offers Robust Single Linkage clustering, GLOSH outlier scoring, tools for visualising and exploring cluster structure, prediction for new points, and soft clustering. The paper contains no datasets, experiments or benchmark figures. Its contribution is a practical, well-referenced implementation of a clustering method that needs less parameter tuning than DBSCAN and treats sparse points as noise.
Key points
- Published in the Journal of Open Source Software, 2(11), article 205, DOI 10.21105/joss.00205. The authors are from the Tutte Institute for Mathematics and Computing and Shopify.
- Core idea: run DBSCAN across varying epsilon values and select the clustering that is most stable over epsilon. This allows clusters of different densities and makes results less sensitive to parameter choice.
- Additional algorithms included: Robust Single Linkage (Chaudhuri & Dasgupta 2010; Chaudhuri et al. 2014) and GLOSH outlier detection (Campello et al. 2015).
- Extra functionality includes visualisation and exploration of cluster hierarchies, prediction for unseen data, and soft clustering.
- The paper itself states that it is released under CC-BY 4.0, which permits redistribution with attribution. You may want to check the restriction noted in the library brief against this.
Cited by
- BERTopic: Neural topic modeling with a class-based TF-IDF procedure
- Symphonym: Universal Phonetic Embeddings for Cross-Script Name Matching
Cite
@article{mcinnes2017hdbscan,
title = {{hdbscan: Hierarchical density based clustering}},
author = {McInnes, Leland and Healy, John and Astels, Steve},
journal = {Journal of Open Source Software 2(11)},
year = {2017},
doi = {10.21105/joss.00205},
url = {https://doi.org/10.21105/joss.00205}
}References
- Campello, Ricardo JGB, Davoud Moulavi, and Joerg Sander. 2013. “Density-Based Clustering Based on Hierarchical Density Estimates.” In Pacific-Asia Conference on Knowledge Discovery and Data Mining, 160–72. Springer. doi:10.1007/978-3-642-37456-2\_14. — [doi:10.1007/978-3-642-37456-2\_14](https://doi.org/10.1007/978-3-642-37456-2_14) find
- Campello, Ricardo JGB, Davoud Moulavi, Arthur Zimek, and Jörg Sander. 2015. “Hierarchical Density Estimates for Data Clustering, Visualization, and Outlier Detection.” ACM Transactions on Knowledge Discovery from Data (TKDD) 10 (1). ACM: 5. doi:10.1145/2733381. — [doi:10.1145/2733381](https://doi.org/10.1145/2733381) find
- Chaudhuri, Kamalika, and Sanjoy Dasgupta. 2010. “Rates of Convergence for the Cluster Tree.” In Proceedings of the 23rd International Conference on Neural Information Processing Systems, 343–51. NIPS’10. USA: Curran Associates Inc. https: //papers.nips.cc/paper/4068-rates-of-convergence-for-the-clus… find
- Chaudhuri, Kamalika, Sanjoy Dasgupta, Samory Kpotufe, and Ulrike von Luxburg. 2014. “Consistent Procedures for Cluster Tree Estimation and Pruning.” IEEE Transactions on Information Theory 60 (12). IEEE: 7900–7912. doi:10.1109/TIT.2014.2361055. — [doi:10.1109/tit.2014.2361055](https://doi.org/10.1109/tit.2014.2361055) find
- McInnes et al., (2017). hdbscan: Hierarchical density based clustering. Journal of Open Source Software, 2(11), 205, doi:10.21105/joss.00205 2 — [doi:10.21105/joss.00205](https://doi.org/10.21105/joss.00205) find