Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Fast Density Clustering in low-dimension

Project description

Fast density clustering (fdc)

Python package for clustering low-dimensional data using kernel density maps and density graph. Examples for gaussian mixtures and some benchmarks are provided. Our algorithm solves multiscale problems (multiple variances/densities and population sizes) and works for non-convex clusters. It uses cross-validation and is regularized by two main global parameters : a neighborhood size and a noise threshold measure. The later detects spurious cluster centers while the former guarantees that only local information is used to infer cluster centers.

The underlying code is based on fast KD-trees for nearest-neighbor searches. For low-dimensional spaces, the algorithm has a O(n log n), where n is the size of the dataset. Is also has a memory complexity of O(n).


I suggest you install the code using pip from an Anaconda Python 3 environment. From that environment:

pip install fdc

That's it ! You can now import the package fdc from your Python scripts. Check out the examples in the file example and see if you can run the scripts provided.

Examples and comparison with other methods

Check out the example for gaussian mixtures ( You should be able to run it directly. It should produce a plot similar to this: alt tag

In another example (, the algorithm is benchmarked against some sklearn datasets (note that the same parameters are used across all datasets). This is to be compared with other clustering methods easily accesible from sklearn.

alt tag


If you use this code in a scientific publication, I would appreciate citation/reference to this repository. Also, for further references on clustering and machine learning check out our machine learning review:

  title={A high-bias, low-variance introduction to Machine Learning for physicists},
  author={Mehta, Pankaj and Bukov, Marin and Wang, Ching-Hao and Day, Alexandre GR and Richardson, Clint and Fisher, Charles K and Schwab, David J},
  journal={arXiv preprint arXiv:1803.08823},

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for fdc, version 1.15
Filename, size File type Python version Upload date Hashes
Filename, size fdc-1.15-py3-none-any.whl (45.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size fdc-1.15.tar.gz (39.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page