class_docstr: Analysis block that estimates column importance with SHAP (SHapley Additive exPlanations), a game theoretic approach
  to explain the ouput of any machine learning model. SHAP assigns each feature an importance value for a particular
  prediction.
  
  Reference:
      https://shap.readthedocs.io/en/stable/
      https://proceedings.neurips.cc/paper/2017/file/8a20a8621978632d76c43dfd28b67767-Paper.pdf
class_docstr_tok: ["Analysis","block","that","estimates","column","importance","with","SHAP","(","SHapley","Additive","exPlanations",")",",","a","game","theoretic","approach","to","explain","the","ouput","of","any","machine","learning","model",".","SHAP","assigns","each","feature","an","importance","value","for","a","particular","prediction",".","Reference",":","https",":","\/\/shap.readthedocs.io\/en\/stable\/","https",":","\/\/proceedings.neurips.cc\/paper\/2017\/file\/8a20a8621978632d76c43dfd28b67767-Paper.pdf"]
code: def __init__(self, deps: Optional[Tuple] = ...):
      super().__init__(deps=deps)
      self.label_encoder = LabelEncoder()
      self.columns = []
      self.target = None
  
file_path: lightwood/lightwood/analysis/helpers/shap.py
imports: import warnings
  from types import SimpleNamespace
  from typing import Dict, Optional, Tuple
  import numpy
  import pandas
  from lightwood.analysis.base import BaseAnalysisBlock
  from type_infer.dtype import dtype
  from lightwood.api.types import PredictionArguments
  from lightwood.data.encoded_ds import EncodedDs
  from lightwood.helpers.log import log
  from sklearn.preprocessing import LabelEncoder
  import shap
label_desc: Use image node_id 1 to create a new ShapleyValues object from inherited base classes: BaseAnalysisBlock with example: obj = ShapleyValues(deps)