class_docstr: This object provides the primary interface to the functionality of this library. You can think of it as
  an adaptor that adapts the various decision-tree based libraries for use with dtreeviz. In implementation,
  however, this object encapsulates the key functionality and API but delegates tree model adaptation
  from sklearn etc... to dtreeviz.models.ShadowDecTree subclasses.
class_docstr_tok: ["This","object","provides","the","primary","interface","to","the","functionality","of","this","library",".","You","can","think","of","it","as","an","adaptor","that","adapts","the","various","decision-tree","based","libraries","for","use","with","dtreeviz",".","In","implementation",",","however",",","this","object","encapsulates","the","key","functionality","and","API","but","delegates","tree","model","adaptation","from","sklearn","etc","...","to","dtreeviz.models.ShadowDecTree","subclasses","."]
docstr: Generate stats (count, mean, std, etc) based on data samples from a specified node.
  
  This method is especially useful to investigate leaf samples from a decision tree. This is a way to discover data
  patterns, to better understand our tree model and to get new ideas for feature generation.
  
  
  Usage example :
  viz_model = dtreeviz.model(tree_model, X_train=dataset[features], y_train=dataset[target],
                             feature_names=features, target_name=target, class_names=[0, 1])
  viz_model.node_stats(node_id=10)
  
  :param node_id: int
      Node id to interpret
  :return: pd.DataFrame
      Node training samples' stats
code: def node_stats(self, node_id: int) -> pd.DataFrame:
      """Generate stats (count, mean, std, etc) based on data samples from a specified node.
  
      This method is especially useful to investigate leaf samples from a decision tree. This is a way to discover data
      patterns, to better understand our tree model and to get new ideas for feature generation.
  
  
      Usage example :
      viz_model = dtreeviz.model(tree_model, X_train=dataset[features], y_train=dataset[target],
                                 feature_names=features, target_name=target, class_names=[0, 1])
      viz_model.node_stats(node_id=10)
  
      :param node_id: int
          Node id to interpret
      :return: pd.DataFrame
          Node training samples' stats
      """
  
      node_samples = self.shadow_tree.get_node_samples()
      df = pd.DataFrame(
          self.shadow_tree.X_train,
          columns=self.shadow_tree.feature_names,
      ).convert_dtypes()
      return df.iloc[node_samples[node_id]].describe(include="all")
  
imports: import os
  import tempfile
  from typing import Mapping, List, Callable
  import matplotlib
  import matplotlib.patches
  import matplotlib.pyplot
  import numpy
  import pandas
  from colour import Color, rgb2hex
  from sklearn import tree
  from dtreeviz.colors import adjust_colors
  from dtreeviz.interpretation import explain_prediction_plain_english, explain_prediction_sklearn_default
  from dtreeviz.models.shadow_decision_tree import ShadowDecTree
  from dtreeviz.models.shadow_decision_tree import ShadowDecTreeNode
  from dtreeviz.utils import myround, DTreeVizRender, add_classifier_legend, _format_axes, _draw_wedge, _set_wedge_ticks, tessellate, is_numeric
label_desc: Use image node_id 6 for calling the DTreeVizAPI obj's underlying member method code with example usage: obj.node_stats(node_id) and returns: df