code: def _apply_categorical_strategies(self):
      if self._data_info is None:
          return []
      if self._data_info.get("columns_info") is None:
          return []
  
      strategies = []
      for k, v in self._data_info["columns_info"].items():
          # if (
          #    "categorical" in v
          #    and PreprocessingTuner.CATEGORICALS_LOO not in strategies
          # ):
          #    strategies += [PreprocessingTuner.CATEGORICALS_LOO]
  
          if (
              PreprocessingCategorical.FEW_CATEGORIES in v
              and PreprocessingTuner.CATEGORICALS_MIX not in strategies
              and self._mix_encoding
          ):
              strategies += [PreprocessingTuner.CATEGORICALS_MIX]
  
          if len(strategies) == 1:  # disable loo encoding
              # cant add more
              # stop
              break
  
      return strategies
  
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 2 for calling the MljarTuner obj's underlying member method code with example usage: obj._apply_categorical_strategies() and returns: strategies, list, list