docstr: Calculates shapley values for each treatment group.
docstr_tok: ["Calculates","shapley","values","for","each","treatment","group","."]
code: def get_shap_values(self):
      """
      Calculates shapley values for each treatment group.
      """
      shap_dict = {}
      for group, mod in self.models_tau.items():
          explainer = shap.TreeExplainer(mod)
          if self.r_learners is not None:
              explainer.model.original_model.params[
                  "objective"
              ] = None  # hacky way of running shap without error
          shap_values = explainer.shap_values(self.X)
          shap_dict[group] = shap_values
  
      return shap_dict
  
imports: import pandas
  import shap
  import matplotlib.pyplot
  from lightgbm import LGBMRegressor
  from sklearn.inspection import permutation_importance
  from sklearn.model_selection import train_test_split
  from copy import deepcopy
  from causalml.inference.meta.utils import convert_pd_to_np
label_desc: Use image node_id 8 for calling the Explainer obj's underlying member method code with example usage: obj.get_shap_values() and returns: shap_dict