0
$\begingroup$

Multiple Machine Learning algorithms are developed to rank some features. Is there an algorithm or statistical approach that can combine the ranking of each of these features into a final ranked list that takes the feature importance scores of the algorithms into consideration?

$\endgroup$

1 Answer 1

2
$\begingroup$

In recent years I have read different approaches on what you mention, with the argument of applying an ensamble on feature selection, the same way it is applied to model prediction (stacking models)

References: This one and This one

One of my favorites due to its simplicity is the following cited in the first link from Data Robot:


1 . Calculate the feature importance for the top N best models in the leaderboard against the selected metric. You can calculate feature importance by measures such as permutation or shap impact.

  1. For each model with computed feature importance, get the ranking of the features.

  2. Compute the median rank of each feature by aggregating the ranks of the features across all models.

  3. Sort the aggregated list by the computed median rank.

  4. Define the threshold number of features to select.

6 .Create a feature list based on the newly selected features.


So basically you are going to have a matrix of shape (n_features, n_models*), whose values are going to be the rank of importance of feature i in model m for i in {1,..,n_features} and m in {1,...,n_models}

*Note that you could also add as columns the importances given by SHAP or Permutation importance.

Then you have to calculate the median (or any other central tendency metric like mean) row-wise, i.e. the median of the rank of importances for each feature across all models, so finally you are able to establish a threshold for which you are going to filter the feature set.

This method has the advantage of being both an ensemble and model agnostic, since you are only using the rank of importances regardless of how that importance is being calculated for each method, but the disadvantage of defining an appropriate threshold.

Hope it helps!

$\endgroup$
2
  • $\begingroup$ I will try it out and see what I can build upon it. Although, the number of features I am dealing with is between 500,000 to 1,000,000 features(SNPs) in a genetic data. $\endgroup$ Aug 17, 2021 at 22:07
  • $\begingroup$ I see, I recommending your case, using feature extraction instead of feature reduction, check UMAP-leaning and this can be used as preprocessing prior modeling with good results. $\endgroup$
    – Multivac
    Aug 18, 2021 at 2:29

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.