code: def get_shap_values(
      model,
      explainer,
      background_dataset,
      explained_dataset,
      api_type="shap_values",
  ):
      # function to get shap values from an explainer using SHAP style API.
      # This function allows isolating all calls in test suite for the case of
      # API changes.
      explainer = explainer(model=model, data=background_dataset)
      if api_type == "shap_values":
          shap_values = explainer.shap_values(explained_dataset)
      elif api_type == "__call__":
          shap_values = explainer(explained_dataset)
  
      return explainer, shap_values
  
imports: import pytest
  from cuml.internals.mem_type import MemoryType
  from cuml.internals.input_utils import input_to_cuml_array, is_array_like
  from cuml.internals.base import Base
  import cuml
  from sklearn.model_selection import train_test_split
  from sklearn.metrics import mean_squared_error, brier_score_loss
  from sklearn.datasets import make_classification, make_regression
  from sklearn import datasets
  from pylibraft.common.cuda import Stream
  from sklearn.datasets import make_regression
  from numba.cuda.cudadrv.devicearray import DeviceNDArray
  from numbers import Number
  from cuml.internals.safe_imports import gpu_only_import_from
  from itertools import dropwhile
  from copy import deepcopy
  from cuml.internals.safe_imports import cpu_only_import
  import inspect
  from textwrap import dedent, indent
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 19 for calling a global function with example usage: get_shap_values(model, explainer, background_dataset, explained_dataset, api_type) and returns: explainer,  shap_values