code: def _get_catboost_shap_values(
      df: pd.DataFrame,
      cbr: Any,
      features: List,
      target: str,
      weights: List,
      cat_features: List,
  ) -> np.ndarray:
      """
      Auxiliar method to allow us to get shap values for Catboost multiclass models
  
      This method exists to allow us to serialize catboost models as pickle without any issues
  
      Parameters
      ----------
  
      df : pandas.DataFrame
          A Pandas' DataFrame with features and target columns.
          Shap values will be calculated over this data.
  
      cbr: Any
          Catboost trained model
  
      features : List[str]
          A list of column names that are used as features for the model. All this names
          should be in `df`.
  
      target : str
          The name of the column in `df` that should be used as target for the model.
  
      weights : List
          Weight column values as a list
  
      cat_features: List[str]
          A list of column names that are used as categoriacal features for the model.
      """
      import catboost
  
      dtrain = catboost.Pool(
          df[features].values,
          df[target].values,
          weight=weights,
          feature_names=list(map(str, features)),
          cat_features=cat_features,
      )
      return cbr.get_feature_importance(
          type=catboost.EFstrType.ShapValues, data=dtrain
      )
  
file_path: fklearn/src/fklearn/training/classification.py
imports: from typing import List, Any, Optional, Callable, Tuple, Union, TYPE_CHECKING, Literal
  import numpy
  import numpy.typing
  import pandas
  from pathlib import Path
  from toolz import curry, merge, assoc
  from sklearn.feature_extraction.text import TfidfVectorizer
  from sklearn.linear_model import LogisticRegression
  from sklearn import __version__
  from fklearn.types import LearnerReturnType, LearnerLogType, LogType
  from fklearn.common_docstrings import learner_return_docstring, learner_pred_fn_docstring
  from fklearn.training.utils import log_learner_time, expand_features_encoded
label_desc: Use image node_id 3 for calling a global function with example usage: _get_catboost_shap_values(df, cbr, features, target, weights, cat_features) and returns: cbr