Clustering evaluation with Silhouette extremely slow
Show older comments
I am evaluating my kmeans clustering solutions using the built-in evalclusters function with Silhouette criterion:
eva = evalclusters(data,idx,'Silhouette');
Data size is 434874x4, tested on my laptop (core i7, 8GB RAM). I have been waiting for more than an hour but it still has not completed. Is there any way to boost the speed of Silhouette evaluation in Matlab?
Thanks a lot.
2 Comments
Fernando Isorna Retamino
on 11 Feb 2017
I have the same problem. My data size is 1726944x7 and I have been waiting for more than 2 weeks with a similar computer.
eva = evalclusters(data,'kmeans','Silhouette','KList',[1:10]);
Stephen john
on 23 May 2022
@Fernando Isorna Retamino how you solve that?
Accepted Answer
More Answers (1)
neuromechanist
on 30 May 2019
1 vote
A problem with evalclusters is that it essentially runs multiple k-means (or any other clustering algortihm) one by one, not in parallel. I think Adding parallel cpability to the function increases its speed dramatically, given that parallel computing toolbox is available.
evalclusters is written in object form, and I don't know how to change for loops in object oriented setups to parfor for now. Will update my response if I figure it out.
3 Comments
Stephen john
on 23 May 2022
@neuromechanist have you found any update regarding that?
neuromechanist
on 23 May 2022
Hi Stephen,
No, Unfortunately I did not find an answer to speed up the evalclusters function.
Sorry to disappoint.
Stephen john
on 24 May 2022
@neuromechanist any other method you used to solve this?
or change algorithm?
Categories
Find more on Clusters and Clouds in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!