Skip to main content

This is the package for DenMune Clustering Algorithm published in paper https://doi.org/10.1016/j.patcog.2020.107589

Project description

DenMune: A density-peak clustering algorithm

DenMune a clustering algorithm that can find clusters of arbitrary size, shapes and densities in two-dimensions. Higher dimensions are first reduced to 2-D using the t-sne. The algorithm relies on a single parameter K (the number of nearest neighbors). The results show the superiority of the algorithm. Enjoy the simplicity but the power of DenMune.

PyPI Version

Launch example notebooks in Binder

Documentation Status

Launch example notebooks in Colaboratory, Google Research

Research datasets at  Mendeley

Elsevier, journal's article publisher

BSD 3-Clause "New" or "Revised" License"

CircleCI, continuous integration

Based on the paper

Mohamed Abbas, Adel El-Zoghabi, Amin Ahoukry, DenMune: Density peak based clustering using mutual nearest neighbors In: Journal of Pattern Recognition, Elsevier, volume 109, number 107589, January 2021

DOI: https://doi.org/10.1016/j.patcog.2020.107589

Documentation:

Documentation, including tutorials, are available on ReadTheDocs at https://denmune-docs.readthedocs.io/en/latest/.

Documentation Status

Watch it in action

This 30 seconds will tell you how a density-baased algorithm, DenMune propagates

Propagation in DenMune

How to install DenMune

Simply install DenMune clustering algorithm using pip command from the official Python repository

PyPI Version

from the shell run the command

pip install denmune

from jupyter notebook cell run the command

!pip install denmune

How to use DenMune

Once DenMune is installed, you just need to import it

from denmune import DenMune
# Please note that first denmune (the package) in small letters, while the other one(the class itself) has D and M in capital case.

How to run and test

  1. Launch Examples in Repo2Dpcker Binder

    Simply use our repo2docker offered by mybinder.org, which encapsulate the algorithm and all required data in one virtual machine instance. All jupter notebooks examples found in this repository will be also available to you in action to practice in this respo2docer. Thanks mybinder.org, you made it possible!

    Launch example notebooks in Binder

  2. Launch each Example in Google Research, CoLab

    Need to test examples one by one, then here another option. Use colab offered by google research to test each example individually.

    Launch example notebooks in Colaboratory, Google Research

Here is a list of Google CoLab URL to use the algorithm interactively:


Aggregation dataset aggregation

Chameleon DS1 dataset cham-ds1

Chameleon DS2 dataset cham-ds2

Chameleon DS3 dataset cham-ds3

Chameleon DS4 dataset cham-ds4

Compound dataset compound

iris dataset iris

Jian dataset jain

Mouse dataset mouse

Pathbased dataset pathbased

Spiral dataset spiral


Citing

If you have used this codebase in a scientific publication and wish to cite it, please use the Journal of Pattern Recognition article.

Mohamed Abbas McInnes, Adel El-Zoghaby, Amin Ahoukry, DenMune: Density peak based clustering using mutual nearest neighbors In: Journal of Pattern Recognition, Elsevier, volume 109, number 107589. January 2021

@article{ABBAS2021107589,
  title = {DenMune: Density peak based clustering using mutual nearest neighbors},
  journal = {Pattern Recognition},
  volume = {109},
  pages = {107589},
  year = {2021},
  issn = {0031-3203},
  doi = {https://doi.org/10.1016/j.patcog.2020.107589},
  url = {https://www.sciencedirect.com/science/article/pii/S0031320320303927},
  author = {Mohamed Abbas and Adel El-Zoghabi and Amin Shoukry},
  keywords = {Clustering, Mutual neighbors, Dimensionality reduction, Arbitrary shapes, Pattern recognition, Nearest neighbors, Density peak}
}

Licensing

The DenMune algorithm is 3-clause BSD licensed. Enjoy.

BSD 3-Clause "New" or "Revised" License"

Task List

  • [x] Update Github with the DenMune sourcode
  • [x] create repo2docker repository
  • [x] Create pip Package
  • [x] create colab shared examples
  • [x] create documentation
  • [ ] create conda package

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

denmune-0.0.5.1.tar.gz (14.7 kB view hashes)

Uploaded Source

Built Distribution

denmune-0.0.5.1-py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page