Hierarchical Density-Based Spatial Clustering of Applications with Noise (HDBSCAN)


Clustering is a technique in data science used to find patterns or groupings in large data sets.  It is a very good, general technique with broad applicability across scientific domains.

Leland McInnes and John Healy, two CSE researchers at the Tutte Institute for Mathematics and Computing, refined and improved the density-based spatial clustering of applications with noise (DBSCAN) algorithm. The redesigned algorithm is orders of magnitude more efficient and Leland and John have written high-performance code implementing the algorithm. This implementation is now the de-facto reference implementation of the algorithm.

The refined HDBSCAN algorithm, implemented in Python, is available for download on GitHub - a repository hosting service for code - as part of the scikit-learn-contrib project. It is also available from PyPI and conda-forge, two popular software package sites for Python.

Redesigned HDBSCAN algorithm

What is HDBSCAN used for?

HDBSCAN is being used in a variety of different ways. Provided below are just some of the fields where it has been applied.


Malware analysis:

Accounting anomaly detection:


Molecular dynamics:

Product defect detection:

Bitcoin / blockchain analysis:

  • De-Anonymizing the Bitcoin Blockchain

Is HDBSCAN production ready?

HDBSCAN is currently in a resting state. It is stable, and various people are further refining and adapting the open source code.



Discover CSE's impactful mission



Join our team and help keep Canadians safe



Read how we are held accountable to Canadians

Report a problem on this page

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Please select all that apply:

Thank you for your help!

You will not receive a reply. For enquiries, please contact us.

Date modified: