1
$\begingroup$

I have entirely categorical data (survey results from users), so I've used k-modes clustering to better understand my users.

I'm not an expert at clustering methods at all. Is there a way to known way of estimating the importance of a feature (or combination of features) in deciding which cluster a user falls into?

$\endgroup$
1
$\begingroup$

It boils down to counting.

Compute which feature value has the highest probability of predicting a particular cluster. It's a straightforward application of Bayes' formula.

|improve this answer|||||
$\endgroup$
1
$\begingroup$

There is an amazing technique available for finding out impact of a different features on the model, it is called Permutation Importance.

To understand how PermuationImportance works please check my this answer on stackoverflow.

To see a working example with well explained code, please check this notebook.

Apart from this, if you want to learn how to manually analyse K-Means clustering algorithm please read this paper.

|improve this answer|||||
$\endgroup$
  • 1
    $\begingroup$ "Link only" answers are generally discouraged because links can become broken or outdated. Please summarize the main points as answers should ideally be self-contained. $\endgroup$ – oW_ May 28 '19 at 20:46
0
$\begingroup$

What about this: do some manual preprocessing first.

If you have many categorical variables, (Can't be that many for a survey.), for each one

  • order answers by decreasing frequency,
  • then lump them together into the say < 10 major responses, and assign the 10th to "other".

Do so for each categorical variable. Sometimes it will be better to assign, say, only 3 major responses plus "other". Then do one-hot-encoding, (=categorical to numerical using dummy variables) then do simple KMeans clustering and interpret the resulting clusters yourself for plausibility.

If you have only free-text responses in your survey, or lots of NAs, you have to do even more preprocessing first.

|improve this answer|||||
$\endgroup$
-1
$\begingroup$

Read about PCA("Principal Component Analysis") and while implementing must standardize data on similar scale.

|improve this answer|||||
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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