How to create clusters with equal sizes

1.8k views Asked by At

I have a big array of data. I want to create clusters with equal sizes, no matter what quantity of clusters is. I use SMILE library for this. What clustering method should I use or how can I implement clustering with equal sizes of clusters.

1

There are 1 answers

0
ASH On BEST ANSWER

There are a few discussions on this topic.

https://elki-project.github.io/tutorial/same-size_k_means

Group n points in k clusters of equal size

K-means algorithm variation with equal cluster size

Also, check out Affinity Propagation and DBSCAN. Both are great alternatives to the very popular K-Means algo, and both find the optimal number of clusters automatically, unlike K-Means.

https://hdbscan.readthedocs.io/en/latest/comparing_clustering_algorithms.html

I'm not saying that these will give you clusters of equal sizes, but it's good to know about these other alternatives, and using these methodologies is are probably more practical than forcing clusters to have an equal number of data points. Clustering is an unsupervised type of analysis. It seems like forcing clusters to have equal sizes of results is somewhat of a forced method, and almost supervised, which it is not designed to be.