docstr: Plots dependency of shapley values for a specified feature, colored by an interaction feature.
  
  If shapley values have been pre-computed, pass it through the shap_dict parameter.
  If shap_dict is not provided, this builds a new model (using X to predict estimated/actual tau),
  and then calculates shapley values.
  
  This plots the value of the feature on the x-axis and the SHAP value of the same feature
  on the y-axis. This shows how the model depends on the given feature, and is like a
  richer extension of the classical partial dependence plots. Vertical dispersion of the
  data points represents interaction effects.
  
  Args:
      treatment_group (str or int): name of treatment group to create dependency plot on
      feature_idx (str or int): feature index / name to create dependency plot on
      X (np.matrix or np.array or pd.Dataframe): a feature matrix
      tau (np.array): a treatment effect vector (estimated/actual)
      model_tau_feature (sklearn/lightgbm/xgboost model object): an unfitted model object
      features (optional, np.array): list/array of feature names. If None, an enumerated list will be used.
      shap_dict (optional, dict): a dict of shapley value matrices. If None, shap_dict will be computed.
      interaction_idx (optional, str or int): feature index / name used in coloring scheme as interaction feature.
          If "auto" then shap.common.approximate_interactions is used to pick what seems to be the
          strongest interaction (note that to find to true strongest interaction you need to compute
          the SHAP interaction values).
docstr_tok: ["Plots","dependency","of","shapley","values","for","a","specified","feature",",","colored","by","an","interaction","feature",".","If","shapley","values","have","been","pre-computed",",","pass","it","through","the","shap_dict","parameter",".","If","shap_dict","is","not","provided",",","this","builds","a","new","model","(","using","X","to","predict","estimated\/actual","tau",")",",","and","then","calculates","shapley","values",".","This","plots","the","value","of","the","feature","on","the","x-axis","and","the","SHAP","value","of","the","same","feature","on","the","y-axis",".","This","shows","how","the","model","depends","on","the","given","feature",",","and","is","like","a","richer","extension","of","the","classical","partial","dependence","plots",".","Vertical","dispersion","of","the","data","points","represents","interaction","effects",".","Args",":","treatment_group","(","str","or","int",")",":","name","of","treatment","group","to","create","dependency","plot","on","feature_idx","(","str","or","int",")",":","feature","index","\/","name","to","create","dependency","plot","on","X","(","np.matrix","or","np.array","or","pd.Dataframe",")",":","a","feature","matrix","tau","(","np.array",")",":","a","treatment","effect","vector","(","estimated\/actual",")","model_tau_feature","(","sklearn\/lightgbm\/xgboost","model","object",")",":","an","unfitted","model","object","features","(","optional",",","np.array",")",":","list\/array","of","feature","names",".","If","None",",","an","enumerated","list","will","be","used",".","shap_dict","(","optional",",","dict",")",":","a","dict","of","shapley","value","matrices",".","If","None",",","shap_dict","will","be","computed",".","interaction_idx","(","optional",",","str","or","int",")",":","feature","index","\/","name","used","in","coloring","scheme","as","interaction","feature",".","If","``","auto","''","then","shap.common.approximate_interactions","is","used","to","pick","what","seems","to","be","the","strongest","interaction","(","note","that","to","find","to","true","strongest","interaction","you","need","to","compute","the","SHAP","interaction","values",")","."]
code: def plot_shap_dependence(
      self,
      treatment_group,
      feature_idx,
      X,
      tau,
      model_tau_feature=None,
      features=None,
      shap_dict=None,
      interaction_idx="auto",
      **kwargs,
  ):
      """
      Plots dependency of shapley values for a specified feature, colored by an interaction feature.
  
      If shapley values have been pre-computed, pass it through the shap_dict parameter.
      If shap_dict is not provided, this builds a new model (using X to predict estimated/actual tau),
      and then calculates shapley values.
  
      This plots the value of the feature on the x-axis and the SHAP value of the same feature
      on the y-axis. This shows how the model depends on the given feature, and is like a
      richer extension of the classical partial dependence plots. Vertical dispersion of the
      data points represents interaction effects.
  
      Args:
          treatment_group (str or int): name of treatment group to create dependency plot on
          feature_idx (str or int): feature index / name to create dependency plot on
          X (np.matrix or np.array or pd.Dataframe): a feature matrix
          tau (np.array): a treatment effect vector (estimated/actual)
          model_tau_feature (sklearn/lightgbm/xgboost model object): an unfitted model object
          features (optional, np.array): list/array of feature names. If None, an enumerated list will be used.
          shap_dict (optional, dict): a dict of shapley value matrices. If None, shap_dict will be computed.
          interaction_idx (optional, str or int): feature index / name used in coloring scheme as interaction feature.
              If "auto" then shap.common.approximate_interactions is used to pick what seems to be the
              strongest interaction (note that to find to true strongest interaction you need to compute
              the SHAP interaction values).
      """
      override_checks = False if shap_dict is None else True
      explainer = Explainer(
          method="shapley",
          control_name=self.control_name,
          X=X,
          tau=tau,
          model_tau=model_tau_feature,
          features=features,
          override_checks=override_checks,
          classes=self._classes,
      )
      explainer.plot_shap_dependence(
          treatment_group=treatment_group,
          feature_idx=feature_idx,
          shap_dict=shap_dict,
          interaction_idx=interaction_idx,
          **kwargs,
      )
  
imports: from abc import ABCMeta, abstractclassmethod
  import logging
  import numpy
  import pandas
  from causalml.inference.meta.explainer import Explainer
  from causalml.inference.meta.utils import check_p_conditions, convert_pd_to_np
  from causalml.propensity import compute_propensity_score
label_desc: Use image node_id 12 for calling the BaseLearner obj's underlying member method code with example usage: obj.plot_shap_dependence(treatment_group, feature_idx, X, tau, model_tau_feature, features, shap_dict, interaction_idx) without return types