That depends on the level of details you want. You can see the experiments in "Performance evaluation of the self-organizing map for feature extraction" at http://onlinelibrary.wiley.com/doi/10.1029/2005JC003117/full
The algorithm k-means needs an initial number of clusters 'k' to start with, however, the search for a good initial 'k' value can be tedious. Searches for the 'k' that leads to less average clusters' distance (less within-group distance between data points in the cluster) is usually done by iterating over different number of clusters, k. This can be achieved by performing first an exponential search for broad search and then a golden section search for fine tuning, as follows:
1) Exponential Search: to perform a broadly search of possible good k values, we obtain clusters for different number of clusters k until a bracketed minimum is found or the maximal number of exponential steps is reached.
2) Golden Section Search: to perform a fine tuning on finding best parameter k, once a bracketed minimum is found. It uses the golden section method, see Brent's method (Golden Section Search in one dimension http://www.aip.de/groups/soe/local/numres/bookcpdf/c10-1.pdf), to determine how much to increase/decrease the value of parameter k in order to find the minimum.
Determining the correct choice of number of clusters is often ambiguous and It depends on your dataset. You can use automatic clustering methods. The following links can be helpful: