code: def remove_by_feature_importance(
      log: LogType, num_removed_by_step: int = 5
  ) -> List[str]:
      """
      Performs feature selection based on feature importance
  
      Parameters
      ----------
      log : dict
          Dictionaries evaluations.
  
      num_removed_by_step: int (default 5)
          The number of features to remove
  
      Returns
      ----------
      features: list of str
          The remaining features after removing based on feature importance
  
      """
      return order_feature_importance_avg_from_logs(log)[
          :-num_removed_by_step
      ]
  
file_path: fklearn/src/fklearn/tuning/samplers.py
imports: import gc
  from itertools import combinations
  from typing import List, Tuple
  import pandas
  from joblib import Parallel, delayed
  from numpy import random
  from toolz.curried import curry, first, compose, valfilter, sorted, pipe, take
  from fklearn.tuning.utils import order_feature_importance_avg_from_logs, get_best_performing_log, gen_dict_extract, get_avg_metric_from_extractor, get_used_features, gen_validator_log
  from fklearn.types import EvalFnType, ExtractorFnType, LogListType, LogType, PredictFnType
label_desc: Use image node_id 1 for calling a global function with example usage: remove_by_feature_importance(log, num_removed_by_step) and returns: order_feature_importance_avg_from_logs