code: def kernel_explainer(self):
      try:
          # classification case
          explainer = shap.KernelExplainer(
              self.model.predict_proba,
              shap.sample(self.input_data, 100),
              link="logit",
              feature_names=self.input_data.columns,
              seed=0,
          )
          predictions = self.model.predict
          prediction_probabilities = self.model.predict_proba
          return explainer, predictions, prediction_probabilities
      except:
          # regression case
          explainer = shap.KernelExplainer(
              self.model.predict,
              shap.sample(self.input_data, 100),
              link="identity",
              feature_names=self.input_data.columns,
              seed=0,
          )
          predictions = self.model.predict
          return explainer, predictions
  
file_path: explainx/lib/frameworks/shapley_values.py
imports: from operator import is_
  import shap
  from explainx.lib.utils import is_classification
  import pandas
  import numpy
label_desc: Use image node_id 3 for calling the ShapleyValues obj's underlying member method code with example usage: obj.kernel_explainer() and returns: explainer,  predictions,  prediction_probabilities, explainer,  predictions