code: def remove_features_subsets(
      log_list: LogListType,
      extractor: ExtractorFnType,
      metric_name: str,
      num_removed_by_step: int = 1,
  ) -> List[Tuple[str, ...]]:
      """
      Performs feature selection based on the best performing model out of
      several trained models
  
      Parameters
      ----------
      log_list : list of dict
          A list of log-like lists of dictionaries evaluations.
  
      extractor: function string -> float
          A extractor that take a string and returns the value of that string on a dict
  
      metric_name: str
          String with the name of the column that refers to the metric column to be extracted
  
      num_removed_by_step: int (default 1)
          The number of features to remove
  
      Returns
      ----------
      keys: list of str
          The remaining keys of feature sets after choosing the current best subset
  
      """
  
      best_log = get_best_performing_log(
          log_list, extractor, metric_name
      )
      best_subset: List[str] = first(
          gen_dict_extract("used_subsets", best_log)
      )
  
      return list(
          combinations(
              best_subset, len(best_subset) - 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 2 for calling a global function with example usage: remove_features_subsets(log_list, extractor, metric_name, num_removed_by_step) and returns: list