Is there any implementation of the KMD clustering in Matlab ?

3 views (last 30 days)
Is there any implementation of the KMD clustering in Matlab?
The following picture, from KMD clustering: Robust generic clustering of biological data, shows a visual result from KMD:
  3 Comments
the cyclist
the cyclist on 29 Sep 2022
I won't make this an "answer", but my best guess is no.
It is a relatively new technique, so it's not too surprising if it is not in MATLAB yet. I also searched the File Exchange, and could not find any implementations of it.
Sim
Sim on 29 Sep 2022
Thanks a lot @the cyclist!
But probably, as I have just written to @Image Analyst, it might be possible to run KMDHierarchicalClustering in Matlab, maybe by following the Call Python from MATLAB page..... Just as a temporary workaround... I do not know..

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 29 Sep 2022
Well we have dbscan which would work well for bullseye-shaped data. See attached demo db scan demo. I've also included my other clustering demos for what it's worth. (Please let me know if any don't work right out of the box.)
The fact that they have clusters broken up by color where normally you would not (like the 3rd, 4th and 5th patterns in the top row) tells me that they're just displaying two features (x and y) but they're using something additional to determine clusters, because there is no way dbscan would take that pattern in the outer ring and divide it up into 6 clusters (pink, brown, green, purple, blue, and black) instead of only 1. They must have a 3rd feature, or more, that they're not plotting.
  3 Comments
Image Analyst
Image Analyst on 29 Sep 2022
No, there is no distance factor that they could have chosen that would have broken up the outer ring into 6 different clusters. For example the pink and brown, and the green and brown clusters are so close that they should be one cluster. If the distance parameter was so small that those pairs were in different clusters then the blue cluster would have been broken up into multiple clusters because there are bigger gaps in the blue than there is between the pink and brown clusters.
I think dbscan would work fine for your points as long as you get the separation parameter correct.
I don't know anything about KMD or calling Python from MATLAB.
Sim
Sim on 29 Sep 2022
Edited: Sim on 29 Sep 2022
ah ok, thanks a lot! :-) Yes, I agree about what you wrote :-)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!