class_docstr: CatBoost model: https://catboost.ai/
  
  Hyperparameter options: https://catboost.ai/en/docs/references/training-parameters
class_docstr_tok: ["CatBoost","model",":","https",":","\/\/catboost.ai\/","Hyperparameter","options",":","https",":","\/\/catboost.ai\/en\/docs\/references\/training-parameters"]
code: def _predict_proba(self, X, **kwargs):
      if self.problem_type != SOFTCLASS:
          return super()._predict_proba(X, **kwargs)
      # For SOFTCLASS problems, manually transform predictions into probabilities via softmax
      X = self.preprocess(X, **kwargs)
      y_pred_proba = self.model.predict(
          X, prediction_type="RawFormulaVal"
      )
      y_pred_proba = np.exp(y_pred_proba)
      y_pred_proba = np.multiply(
          y_pred_proba, 1 / np.sum(y_pred_proba, axis=1)[:, np.newaxis]
      )
      if y_pred_proba.shape[1] == 2:
          y_pred_proba = y_pred_proba[:, 1]
      return y_pred_proba
  
imports: import logging
  import math
  import os
  import time
  import numpy
  import pandas
  from autogluon.common.features.types import R_BOOL, R_CATEGORY, R_FLOAT, R_INT
  from autogluon.common.utils.pandas_utils import get_approximate_df_mem_usage
  from autogluon.common.utils.resource_utils import ResourceManager
  from autogluon.common.utils.try_import import try_import_catboost
  from autogluon.core.constants import MULTICLASS, PROBLEM_TYPES_CLASSIFICATION, QUANTILE, SOFTCLASS
  from autogluon.core.models import AbstractModel
  from autogluon.core.models._utils import get_early_stopping_rounds
  from autogluon.core.utils.exceptions import TimeLimitExceeded
  from .callbacks import EarlyStoppingCallback, MemoryCheckCallback, TimeCheckCallback
  from .catboost_utils import get_catboost_metric_from_ag_metric
  from .hyperparameters.parameters import get_param_baseline
  from .hyperparameters.searchspaces import get_default_searchspace
label_desc: Use image node_id 8 for calling the CatBoostModel obj's underlying member method code with example usage: obj._predict_proba(X) and returns: y_pred_proba, super