Feature Importance - How to choose the number of best features? What is the standard or what method do you use to select part of features.

For ex: Using random forest, I got the following feature importances:

a : 25.4884726
b : 17.2736393
c : 12.3493490
d : 8.9383737
e : 8.1083837
f : 6.8272717
g : 4.1999999
...
...
...


For final prediction, you need to select only few features from the above. How do you decide the following:


  
  No. of features that you choose?
  Does the score matter when you choose?
This is an important problem, since many feature selection methods return feature scores/importances rather than a finite feature set. I currently know three approaches:


choose the k best attributes (fixed number defined)
choose the best k * 100% of attributes (relative number of features defined)
make a cutoff at the biggest difference in feature scores: all features are ordered according to their score and a split is made at the largest difference between one score and the next lower (biggest loss in importance)


You find a nice implementation doing this in R with the FSelector package.

I think, there are some research works tackling exactly this problem and may suggest better approaches, but I hadn't had the time to go deeper into this.