Actually, i have 540x46 matrix, (540 observations and 46 features) and after using PCA by considering 95% variance, it is reduced to 540x12 matrix.

So, is it possible to know which 12 features from 46 are they? and order of these 12 features according to dominance level?

I hope now question is clear and please let me know if you need any other information.

  • $\begingroup$ It is not apparent that this question is intended as a duplicate because the question itself is unclear. On what basis should the features be ranked? How would "dominance level" be related to PCA? $\endgroup$
    – whuber
    Dec 2, 2014 at 17:20
  • $\begingroup$ @whuber: Whereas I appreciate the intent of your clarifying questions, let me ask if you think that the question that I suggested this one is a duplicate of is more clear? "On what basis should the features be ranked" there? $\endgroup$
    – amoeba
    Dec 2, 2014 at 18:07
  • $\begingroup$ @amoeba I am not calling into question the relevance or quality of your answer in the other thread. At this juncture, though, I hesitate to do anything with the present post (besides wait for clarifying edits) because--although I can make guesses--I am not entirely sure what it is really trying to ask. $\endgroup$
    – whuber
    Dec 2, 2014 at 19:48
  • $\begingroup$ @whuber: Ah, I don't actually have an answer there, so no personal involvement whatsoever. I was just trying to say that people are regularly asking about "feature selection via PCA", and this is always not very well-defined or even clear. Nevertheless, chl gave a very nice comprehensive answer in that old thread. $\endgroup$
    – amoeba
    Dec 2, 2014 at 22:17

1 Answer 1


I'm not entirely sure what you meant, but as I understood, you want to know which features out of your 46 those 12 are, correct? In other words, you want to go back to your original data and find out what they were. Also you want to know the relative importance of each feature.

When you look at your PCA loadings, these values tell you something about the relative importance of your individual features for each Principal Component. You can calculate the norm of each feature, which will tell you how important that variable is. Usually, what you would ideally get is a list of "norm values" (one per feature). When a "norm value" is close to 1, the variable is important to your PCA separation; if it's close to 0, it is not important. Do keep in mind that depending on your data, you have to include any number of PC's. In low-dimensional data, you may need to include only the first 3 PCs, whereas in high-dimensional data, you might need to include 50 PCs to get a sufficient "norm value".

However, an easier approach may be to use some kind of machine learning method that includes feature selection like Random Forests. With Random Forests, you can also have it calculate the feature importance, so that would solve your problem too.

Hope this helps :)


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