Code to recreate the experiments from the paper ''Connecting the Dots: density-connectivity distance unifies DBSCAN, k-center and spectral clustering.''
The distance metric is calculated in distance_metric.py
. The k-center clustering on the dc-dist is given in density_tree.py
and cluster_tree.py
. We provide an
implementation of DBSCAN* in DBSCAN.py
. Furthermore, our implementation of Ultrametric Spectral Clustering is given in SpectralClustering.py
.
The code to calculate the distance measure can be found in distance_metric.py
. Experiment scripts are then located in
k_vs_epsilon.py
fig(7) in essaynoise_robustness.py
fig(5) in essaydistances_plot.py
fig(2) in essaycompare_clustering.py
fig(3) in essay
If you would like to mess around with the clusterings and assert for yourself that they are equivalent, we recommend the sandbox file cluster_dataset.py
.
We provide an ultrametric visualization tool in the file tree_plotting.py
. This allows you to look at the tree of dc-distances given by a specific dataset.
You will have to download the coil-100 dataset from here and unpack it
into the path data/coil-100
.
Feel free to email if you have any questions -- [email protected]
Change from drink36(YU) Images we give are the result by ourselves.
Some experiment report at here
Some experiment scripts are then located in
TestIndividalClusterings.py
fig(6) in essayRealDataClusterings.py
fig(6) in essay
I have changed the plot function in these two functions. If you add more datasets, you might need to change it.
More data for RealDataClusterings.py
and TestIndividalClusterings.py
after generate at here and here.
You can also find data/synth
at here.W
To run our data, please run testcompare.py
, you can change dataset and other hyperparameter by yourself.