Python Code For 'Clustering By Fast Search And Find Of Density Peaks' In Science 2014
I forked the original DensityPeakCluster from jasonwbw/DensityPeakCluster and lanbing510/DensityPeakCluster, thanks jasonwbw and lanbing510. I have fixed its bugs and reproduced the excellent work of Alex Rodriguez and Alessandro Laio in the paper 'Clustering by fast search and find of density peaks'. The matlab code of Alex Rodriguez and Alessandro Laio was pleaced under ./data/data_in_paper.
The results of original matlab code are shown below:
The results of our code are shown here:
Note that the mds method of python is not totally same with mds in matlab. However, we still can see the results are the same in essence.
More other results generated by our code were show blow:
spiral
aggregation
flame
jain
Step0: If your data is not the distance between points but the points' vector, write you distance builder in distance like distance_builder_data_spiral.py.
Step1: Change the data file in step1_choose_center.py, then run it to choose cluster threshold.
Step2: Change the data file and threshold in step2_cluster.py, then run it.
python distance_builder_data_[datename].py
python step1_choose_center.py
python step2_cluster.py
-
NumPy: normal computing
-
Matplotlib: For plotting data to choose threshold
-
Scikit-Learn: use for mds to plot result
-
Python Environment: migrate from python 2 to python 3
The MIT License (MIT)