I am trying to cluster some products based on the users' behaviors. What I reach at the end are clusters that have a very different number of observations.
I have checked k-means clustering parameters and was not able to find a parameter that controls the minimum (or maximum) number of observations per cluster.
For example here is how the number of observations is distributed across different clusters.
cluster_id num_observations
0 6
1 4
2 1
3 3
4 29
5 5
Any help on how to deal with this issue? Any other clustering algorithm that can take care of this?