docstr: Groups the data if grouping options are specified, returning a shap_utils.Data object in this
  case. Otherwise, the original data is returned and handled internally by the shap library.
code: def _get_data(
      self,
      background_data: Union[
          shap_utils.Data, pd.DataFrame, np.ndarray, sparse.spmatrix
      ],
      group_names: Sequence,
      groups: List[Sequence[int]],
      weights: Sequence[Union[float, int]],
      **kwargs,
  ):
      """
      Groups the data if grouping options are specified, returning a shap_utils.Data object in this
      case. Otherwise, the original data is returned and handled internally by the shap library.
      """
  
      raise TypeError(
          "Type {} is not supported for background data!".format(
              type(background_data)
          )
      )
  
imports: import copy
  import logging
  from functools import partial
  from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Sequence, Tuple, Union
  import numpy
  import pandas
  import shap
  import shap.utils._legacy
  from scipy import sparse
  from scipy.special import expit
  from shap import KernelExplainer
  from alibi.api.defaults import DEFAULT_DATA_KERNEL_SHAP, DEFAULT_DATA_TREE_SHAP, DEFAULT_META_KERNEL_SHAP, DEFAULT_META_TREE_SHAP
  from alibi.api.interfaces import Explainer, Explanation, FitMixin
  from alibi.utils.wrappers import methdispatch
label_desc: Use image node_id 4 for calling the KernelShap obj's underlying member method code with example usage: obj._get_data(background_data, group_names, groups, weights) without return types