docstr: Plots distribution of shapley values.
  
  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.
  
  Args:
      X (np.matrix or np.array or pd.Dataframe): a feature matrix. Required if shap_dict is None.
      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.
docstr_tok: ["Plots","distribution","of","shapley","values",".","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",".","Args",":","X","(","np.matrix","or","np.array","or","pd.Dataframe",")",":","a","feature","matrix",".","Required","if","shap_dict","is","None",".","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","."]
code: def plot_shap_values(
      self,
      X=None,
      tau=None,
      model_tau_feature=None,
      features=None,
      shap_dict=None,
      **kwargs,
  ):
      """
      Plots distribution of shapley values.
  
      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.
  
      Args:
          X (np.matrix or np.array or pd.Dataframe): a feature matrix. Required if shap_dict is None.
          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.
      """
      override_checks = shap_dict is not None
      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_values(shap_dict=shap_dict, **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 11 for calling the BaseLearner obj's underlying member method code with example usage: obj.plot_shap_values(X, tau, model_tau_feature, features, shap_dict) without return types