4
$\begingroup$

I'm using a KMeans to get the profile of several users according to several columns (I'm working with RStudio).

To analyze my clusters, I decided to realize a radar chart, so I decided to use feature scaling : x-min(x)/diff(range(x)), to have my values in [0,1] (to get a quite good idea of my data per cluster). However, since there are multiple choice for normalization, I was wondering if doing my analysis with another choice for normalization - for instance : x-mean(x)/sd(x) - would give me the same results (in a general way at least)

Or am I completly wrong for considering my scaled data and should I use my unscaled data in my radar chart ?

$\endgroup$
2
  • $\begingroup$ I would standardize the data first before running K-Means. This post provides some illustrative example! $\endgroup$
    – Shadi
    Oct 31, 2017 at 23:02
  • 1
    $\begingroup$ Yes, it affects the result. There's no right way, and that's one problem with clustering. $\endgroup$
    – Emre
    Nov 1, 2017 at 0:07

1 Answer 1

4
$\begingroup$

Yes. Feature scaling can completely change the clustering result.

People usually scale data to [0:1] or to have a standard deviation of 1.

However, that is nothing but a heuristic.

In many cases, the need for scaling is nothing but a symptom, caused by inappropriate data for the method. You can't just fix this by some naive scaling, but it's just a hack that often works.

For statistically meaningful results, all axes should be scaled to reflect attribute relevance, such that a difference of 1 unit is of the same importance in each attribute.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.