I am clustering on a dataset where each row is a customer and each column is a feature. I have 200 features, this seems like alot for clustering. I plan to experiment with a variety of clustering models e.g. k-means since all my data is numerical. H

How can i reduce/select the features ?

I am only familiar with SelectKbest, etc as these are used for predictive modelling. But here i have NO target variable. Note i plan to use python.


2 Answers 2


Good points by shepan6. It is also worth to mention about feature extraction techniques to lower the number of features. You can use common feature extraction techniques such as PCA or eigen projections to transform the data into a lower dimensions. After lowering the number of features like this you can appply techniques such as clustering


This is a good question!
The first thing to ask yourself is what is the purpose of carrying out clustering over this dataset? (e.g. to identify certain customer groups, by clustering them into clusters which represent how much a customer group spends on average)
This will help with selecting appropriate features. In the case of identify clusters with similar average spends, then it is best to perform Exploratory Data Analysis over these features to see which ones can discriminate between average spend groups (for example), by both visualising the data over the average spend and other carrying of statistical tests over the data and the average spend groups.


Your Answer

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

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