class_docstr: Node that splits the data in a Hoeffding Adaptive Tree.
  
  Parameters
  ----------
  stats
      Class observations
  adwin_delta
      The delta parameter of ADWIN.
  children
      Sequence of children nodes of this branch.
  attributes
      Other parameters passed to the split node.
code: def __init__(self, stats, *children, drift_detector, **attributes):
      super().__init__(stats, *children, **attributes)
      self.drift_detector = drift_detector
      self._alternate_tree = None
      self._mean_error: st.Mean = st.Mean()
  
imports: from __future__ import annotations
  import math
  from river import stats
  from river.utils.norm import normalize_values_in_dict
  from river.utils.random import poisson
  from ..utils import do_naive_bayes_prediction
  from .branch import DTBranch, NominalBinaryBranch, NominalMultiwayBranch, NumericBinaryBranch, NumericMultiwayBranch
  from .htc_nodes import LeafNaiveBayesAdaptive
  from .leaf import HTLeaf
label_desc: Use image node_id 1 to create a new AdaBranchClassifier object from inherited base classes: DTBranch with example: obj = AdaBranchClassifier(stats)