code: def steps(self):
      all_steps = []
      if self._adjust_validation:
          all_steps += ["adjust_validation"]
  
      all_steps += ["simple_algorithms", "default_algorithms"]
  
      if self._fairness_metric is not None:
          all_steps += ["unfairness_mitigation"]
          # up to 10 steps
          for i in range(10):
              all_steps += [f"unfairness_mitigation_update_{i+1}"]
  
      if self._start_random_models > 1:
          all_steps += ["not_so_random"]
  
      categorical_strategies = self._apply_categorical_strategies()
      if PreprocessingTuner.CATEGORICALS_MIX in categorical_strategies:
          all_steps += ["mix_encoding"]
      if PreprocessingTuner.CATEGORICALS_LOO in categorical_strategies:
          all_steps += ["loo_encoding"]
      if self._golden_features and self._can_apply_golden_features():
          all_steps += ["golden_features"]
      if self._kmeans_features and self._can_apply_kmeans_features():
          all_steps += ["kmeans_features"]
      if self._features_selection:
          all_steps += ["insert_random_feature"]
          all_steps += ["features_selection"]
      for i in range(self._hill_climbing_steps):
          all_steps += [f"hill_climbing_{i+1}"]
      if self._boost_on_errors and self._fairness_metric is None:
          # we can tun boost on errors only if there is not fairness optimization
          all_steps += ["boost_on_errors"]
      if self._train_ensemble:
          all_steps += ["ensemble"]
      if self._stack_models:
          all_steps += ["stack"]
          if self._train_ensemble:
              all_steps += ["ensemble_stacked"]
      return all_steps
  
imports: import copy
  import json
  import logging
  import os
  import numpy
  import pandas
  from sklearn.preprocessing import OneHotEncoder
  from supervised.algorithms.catboost import catboost_eval_metric
  from supervised.algorithms.lightgbm import lightgbm_eval_metric
  from supervised.algorithms.registry import BINARY_CLASSIFICATION, MULTICLASS_CLASSIFICATION, REGRESSION, AlgorithmsRegistry
  from supervised.algorithms.xgboost import xgboost_eval_metric
  from supervised.preprocessing.label_encoder import LabelEncoder
  from supervised.preprocessing.preprocessing_categorical import PreprocessingCategorical
  from supervised.tuner.hill_climbing import HillClimbing
  from supervised.tuner.preprocessing_tuner import PreprocessingTuner
  from supervised.tuner.random_parameters import RandomParameters
  from supervised.utils.config import LOG_LEVEL
  from supervised.utils.utils import dump_data, load_data
label_desc: Use image node_id 5 for calling the MljarTuner obj's underlying member method code with example usage: obj.steps() and returns: all_steps