code: def _set_stack_columns(self, base_model_names):
      if self.problem_type in [MULTICLASS, SOFTCLASS]:
          stack_columns = [
              model_name + "_" + str(cls)
              for model_name in base_model_names
              for cls in range(self.num_classes)
          ]
      elif self.problem_type == QUANTILE:
          stack_columns = [
              model_name + "_" + str(q)
              for model_name in base_model_names
              for q in self.quantile_levels
          ]
      else:
          stack_columns = base_model_names
      return stack_columns
  
imports: import logging
  from autogluon.common.features.types import S_STACK
  from ...constants import MULTICLASS, QUANTILE, SOFTCLASS
  from ..abstract.abstract_model import AbstractModel
  from .ensemble_selection import EnsembleSelection, SimpleWeightedEnsemble
label_desc: Use image node_id 9 for calling the GreedyWeightedEnsembleModel obj's underlying member method code with example usage: obj._set_stack_columns(base_model_names) and returns: stack_columns