What are the best (recommended) pre-processing steps before performing k-means?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
If your variables are of incomparable units (e.g. height in cm and weight in kg) then you should standardize variables, of course. Even if variables are of the same units but show quite different variances it is still a good idea to standardize before K-means. You see, K-means clustering is "isotropic" in all directions of space and therefore tends to produce more or less round (rather than elongated) clusters. In this situation leaving variances unequal is equivalent to putting more weight on variables with smaller variance, so clusters will tend to be separated along variables with greater variance.
A different thing also worth to remind is that K-means clustering results are sensitive to the order of objects in the data set. A justified practice would be to run the analysis several times, randomizing objects order; then average the cluster centres of those runs and input the centres as initial ones for one final run of the analysis.
Depends on your data I guess. If you would like trends in your data to cluster together regardless of the magnitude, you should center. eg. say you have some gene expression profile, and want to see trends in gene expression, then without mean centering, your low expression genes will cluster together and away from high expression genes, regardless of trends. Centering makes genes (both high and low expressed) with like expression patterns cluster together.