docstr: Show SHAP Interaciton values summary component
  
  Args:
      explainer (Explainer): explainer object constructed with either
                  ClassifierExplainer() or RegressionExplainer()
      title (str, optional): Title of tab or page. Defaults to
                  "Interactions Summary".
      name (str, optional): unique name to add to Component elements.
                  If None then random uuid is generated to make sure
                  it's unique. Defaults to None.
      subtitle (str): subtitle
      hide_title (bool, optional): hide the component title. Defaults to False.
      hide_subtitle (bool, optional): Hide subtitle. Defaults to False.
      hide_col (bool, optional): Hide the feature selector. Defaults to False.
      hide_depth (bool, optional): Hide depth toggle. Defaults to False.
      hide_type (bool, optional): Hide summary type toggle. Defaults to False.
      hide_index (bool, optional): Hide the index selector. Defaults to False
      hide_popout (bool, optional): hide popout button
      hide_selector (bool, optional): hide pos label selector. Defaults to False.
      pos_label ({int, str}, optional): initial pos label.
                  Defaults to explainer.pos_label
      col (str, optional): Feature to show interaction summary for.
          Defaults to None.
      depth (int, optional): Number of interaction features to display.
          Defaults to None.
      summary_type (str, {'aggregate', 'detailed'}, optional): type of
          summary graph to display. Defaults to "aggregate".
      max_cat_colors (int, optional): for categorical features, maximum number
          of categories to label with own color. Defaults to 5.
      index (str):    Default index. Defaults to None.
      plot_sample (int, optional): Instead of all points only plot a random
          sample of points. Defaults to None (=all points)
      description (str, optional): Tooltip to display when hover over
          component title. When None default text is shown.
docstr_tok: ["Show","SHAP","Interaciton","values","summary","component","Args",":","explainer","(","Explainer",")",":","explainer","object","constructed","with","either","ClassifierExplainer","(",")","or","RegressionExplainer","(",")","title","(","str",",","optional",")",":","Title","of","tab","or","page",".","Defaults","to","``","Interactions","Summary","''",".","name","(","str",",","optional",")",":","unique","name","to","add","to","Component","elements",".","If","None","then","random","uuid","is","generated","to","make","sure","it","'s","unique",".","Defaults","to","None",".","subtitle","(","str",")",":","subtitle","hide_title","(","bool",",","optional",")",":","hide","the","component","title",".","Defaults","to","False",".","hide_subtitle","(","bool",",","optional",")",":","Hide","subtitle",".","Defaults","to","False",".","hide_col","(","bool",",","optional",")",":","Hide","the","feature","selector",".","Defaults","to","False",".","hide_depth","(","bool",",","optional",")",":","Hide","depth","toggle",".","Defaults","to","False",".","hide_type","(","bool",",","optional",")",":","Hide","summary","type","toggle",".","Defaults","to","False",".","hide_index","(","bool",",","optional",")",":","Hide","the","index","selector",".","Defaults","to","False","hide_popout","(","bool",",","optional",")",":","hide","popout","button","hide_selector","(","bool",",","optional",")",":","hide","pos","label","selector",".","Defaults","to","False",".","pos_label","(","{","int",",","str","}",",","optional",")",":","initial","pos","label",".","Defaults","to","explainer.pos_label","col","(","str",",","optional",")",":","Feature","to","show","interaction","summary","for",".","Defaults","to","None",".","depth","(","int",",","optional",")",":","Number","of","interaction","features","to","display",".","Defaults","to","None",".","summary_type","(","str",",","{","'aggregate","'",",","'detailed","'","}",",","optional",")",":","type","of","summary","graph","to","display",".","Defaults","to","``","aggregate","''",".","max_cat_colors","(","int",",","optional",")",":","for","categorical","features",",","maximum","number","of","categories","to","label","with","own","color",".","Defaults","to","5.","index","(","str",")",":","Default","index",".","Defaults","to","None",".","plot_sample","(","int",",","optional",")",":","Instead","of","all","points","only","plot","a","random","sample","of","points",".","Defaults","to","None","(","=all","points",")","description","(","str",",","optional",")",":","Tooltip","to","display","when","hover","over","component","title",".","When","None","default","text","is","shown","."]
code: def __init__(
      self,
      explainer,
      title="Interactions Summary",
      name=None,
      subtitle="Ordering features by shap interaction value",
      hide_title=False,
      hide_subtitle=False,
      hide_col=False,
      hide_depth=False,
      hide_type=False,
      hide_index=False,
      hide_popout=False,
      hide_selector=False,
      pos_label=None,
      col=None,
      depth=None,
      summary_type="aggregate",
      max_cat_colors=5,
      index=None,
      plot_sample=None,
      description=None,
      **kwargs,
  ):
      """Show SHAP Interaciton values summary component
  
      Args:
          explainer (Explainer): explainer object constructed with either
                      ClassifierExplainer() or RegressionExplainer()
          title (str, optional): Title of tab or page. Defaults to
                      "Interactions Summary".
          name (str, optional): unique name to add to Component elements.
                      If None then random uuid is generated to make sure
                      it's unique. Defaults to None.
          subtitle (str): subtitle
          hide_title (bool, optional): hide the component title. Defaults to False.
          hide_subtitle (bool, optional): Hide subtitle. Defaults to False.
          hide_col (bool, optional): Hide the feature selector. Defaults to False.
          hide_depth (bool, optional): Hide depth toggle. Defaults to False.
          hide_type (bool, optional): Hide summary type toggle. Defaults to False.
          hide_index (bool, optional): Hide the index selector. Defaults to False
          hide_popout (bool, optional): hide popout button
          hide_selector (bool, optional): hide pos label selector. Defaults to False.
          pos_label ({int, str}, optional): initial pos label.
                      Defaults to explainer.pos_label
          col (str, optional): Feature to show interaction summary for.
              Defaults to None.
          depth (int, optional): Number of interaction features to display.
              Defaults to None.
          summary_type (str, {'aggregate', 'detailed'}, optional): type of
              summary graph to display. Defaults to "aggregate".
          max_cat_colors (int, optional): for categorical features, maximum number
              of categories to label with own color. Defaults to 5.
          index (str):    Default index. Defaults to None.
          plot_sample (int, optional): Instead of all points only plot a random
              sample of points. Defaults to None (=all points)
          description (str, optional): Tooltip to display when hover over
              component title. When None default text is shown.
      """
      super().__init__(explainer, title, name)
  
      if self.col is None:
          self.col = self.explainer.columns_ranked_by_shap()[0]
      if self.depth is not None:
          self.depth = min(self.depth, self.explainer.n_features - 1)
  
      self.index_selector = IndexSelector(
          explainer,
          "interaction-summary-index-" + self.name,
          index=index,
          **kwargs,
      )
      self.index_name = "interaction-summary-index-" + self.name
      self.selector = PosLabelSelector(
          explainer, name=self.name, pos_label=pos_label
      )
  
      if self.description is None:
          self.description = """
          Shows shap interaction values. Each shap value can be decomposed into a direct
          effect and indirect effects. The indirect effects are due to interactions
          of the feature with other feature. For example the fact that you know
          the gender of a passenger on the titanic will have a direct effect (women
          more likely to survive then men), but may also have indirect effects through
          for example passenger class (first class women more likely to survive than
          average woman, third class women less likely).
          """
      self.popout = GraphPopout(
          "interaction-summary-" + self.name + "popout",
          "interaction-summary-graph-" + self.name,
          self.title,
          self.description,
      )
      self.register_dependencies("shap_interaction_values")
  
imports: import dash
  from dash import html, dcc, Input, Output, State
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from ..dashboard_methods import *
  from ..None import to_html
label_desc: Use image node_id 1 to create a new InteractionSummaryComponent object from inherited base classes: ExplainerComponent with example: obj = InteractionSummaryComponent(explainer, title, name, subtitle, hide_title, hide_subtitle, hide_col, hide_depth, hide_type, hide_index, hide_popout, hide_selector, pos_label, col, depth, summary_type, max_cat_colors, index, plot_sample, description)