docstr: Show prediction from individual decision trees inside RandomForest component
  
  Args:
      explainer (Explainer): explainer object constructed with either
                  ClassifierExplainer() or RegressionExplainer()
      title (str, optional): Title of tab or page. Defaults to
                  "Decision Trees".
      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 title, Defaults to False.
      hide_subtitle (bool, optional): Hide subtitle. Defaults to False.
      hide_index (bool, optional): Hide index selector. Defaults to False.
      hide_highlight (bool, optional): Hide tree highlight selector. Defaults to False.
      hide_selector (bool, optional): hide pos label selectors. Defaults to False.
      hide_popout (bool, optional): hide popout button
      index_dropdown (bool, optional): Use dropdown for index input instead
          of free text input. Defaults to True.
      pos_label ({int, str}, optional): initial pos label.
                  Defaults to explainer.pos_label
      index ({str, int}, optional): Initial index to display. Defaults to None.
      highlight (int, optional): Initial tree to highlight. Defaults to None.
      higher_is_better (bool, optional): up is green, down is red. If False
          flip the colors. (for gbm models only)
      description (str, optional): Tooltip to display when hover over
          component title. When None default text is shown.
docstr_tok: ["Show","prediction","from","individual","decision","trees","inside","RandomForest","component","Args",":","explainer","(","Explainer",")",":","explainer","object","constructed","with","either","ClassifierExplainer","(",")","or","RegressionExplainer","(",")","title","(","str",",","optional",")",":","Title","of","tab","or","page",".","Defaults","to","``","Decision","Trees","''",".","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","title",",","Defaults","to","False",".","hide_subtitle","(","bool",",","optional",")",":","Hide","subtitle",".","Defaults","to","False",".","hide_index","(","bool",",","optional",")",":","Hide","index","selector",".","Defaults","to","False",".","hide_highlight","(","bool",",","optional",")",":","Hide","tree","highlight","selector",".","Defaults","to","False",".","hide_selector","(","bool",",","optional",")",":","hide","pos","label","selectors",".","Defaults","to","False",".","hide_popout","(","bool",",","optional",")",":","hide","popout","button","index_dropdown","(","bool",",","optional",")",":","Use","dropdown","for","index","input","instead","of","free","text","input",".","Defaults","to","True",".","pos_label","(","{","int",",","str","}",",","optional",")",":","initial","pos","label",".","Defaults","to","explainer.pos_label","index","(","{","str",",","int","}",",","optional",")",":","Initial","index","to","display",".","Defaults","to","None",".","highlight","(","int",",","optional",")",":","Initial","tree","to","highlight",".","Defaults","to","None",".","higher_is_better","(","bool",",","optional",")",":","up","is","green",",","down","is","red",".","If","False","flip","the","colors",".","(","for","gbm","models","only",")","description","(","str",",","optional",")",":","Tooltip","to","display","when","hover","over","component","title",".","When","None","default","text","is","shown","."]
code: def __init__(
      self,
      explainer,
      title="Decision Trees",
      name=None,
      subtitle="Displaying individual decision trees",
      hide_title=False,
      hide_subtitle=False,
      hide_index=False,
      hide_highlight=False,
      hide_selector=False,
      hide_popout=False,
      index_dropdown=True,
      pos_label=None,
      index=None,
      highlight=None,
      higher_is_better=True,
      description=None,
      **kwargs,
  ):
      """Show prediction from individual decision trees inside RandomForest component
  
      Args:
          explainer (Explainer): explainer object constructed with either
                      ClassifierExplainer() or RegressionExplainer()
          title (str, optional): Title of tab or page. Defaults to
                      "Decision Trees".
          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 title, Defaults to False.
          hide_subtitle (bool, optional): Hide subtitle. Defaults to False.
          hide_index (bool, optional): Hide index selector. Defaults to False.
          hide_highlight (bool, optional): Hide tree highlight selector. Defaults to False.
          hide_selector (bool, optional): hide pos label selectors. Defaults to False.
          hide_popout (bool, optional): hide popout button
          index_dropdown (bool, optional): Use dropdown for index input instead
              of free text input. Defaults to True.
          pos_label ({int, str}, optional): initial pos label.
                      Defaults to explainer.pos_label
          index ({str, int}, optional): Initial index to display. Defaults to None.
          highlight (int, optional): Initial tree to highlight. Defaults to None.
          higher_is_better (bool, optional): up is green, down is red. If False
              flip the colors. (for gbm models only)
          description (str, optional): Tooltip to display when hover over
              component title. When None default text is shown.
      """
      super().__init__(explainer, title, name)
  
      self.index_name = "decisiontrees-index-" + self.name
      self.highlight_name = "decisiontrees-highlight-" + self.name
  
      self.selector = PosLabelSelector(
          explainer, name=self.name, pos_label=pos_label
      )
      self.index_selector = IndexSelector(
          explainer,
          "decisiontrees-index-" + self.name,
          index=index,
          index_dropdown=index_dropdown,
          **kwargs,
      )
  
      if isinstance(self.explainer, RandomForestExplainer):
          if self.description is None:
              self.description = """
              Show the prediction of every individual tree in a random forest.
              This demonstrates how a random forest is simply an average of an
              ensemble of decision trees.
              """
          if self.subtitle == "Displaying individual decision trees":
              self.subtitle += " inside Random Forest"
      elif isinstance(self.explainer, XGBExplainer):
          if self.description is None:
              self.description = """
              Shows the marginal contributions of each decision tree in an 
              xgboost ensemble to the final prediction. This demonstrates that
              an xgboost model is simply a sum of individual decision trees.
              """
          if self.subtitle == "Displaying individual decision trees":
              self.subtitle += " inside xgboost model"
      else:
          if self.description is None:
              self.description = ""
  
      self.popout = GraphPopout(
          "decisiontrees-" + self.name + "popout",
          "decisiontrees-graph-" + self.name,
          self.title,
          self.description,
      )
      self.register_dependencies("preds", "pred_probas")
  
imports: import dash
  from dash import html, dcc, Input, Output, State, dash_table
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from ..explainers import RandomForestExplainer, XGBExplainer
  from ..dashboard_methods import *
  from .classifier_components import ClassifierRandomIndexComponent
  from .connectors import IndexConnector, HighlightConnector
  from ..None import to_html
label_desc: Use image node_id 1 to create a new DecisionTreesComponent object from inherited base classes: ExplainerComponent with example: obj = DecisionTreesComponent(explainer, title, name, subtitle, hide_title, hide_subtitle, hide_index, hide_highlight, hide_selector, hide_popout, index_dropdown, pos_label, index, highlight, higher_is_better, description)