class_docstr: Learning node for Hoeffding Adaptive Tree.
  
  Parameters
  ----------
  stats
      Initial class observations.
  depth
      The depth of the learning node in the tree.
  splitter
      The numeric attribute observer algorithm used to monitor target statistics
      and perform split attempts.
  drift_detector
      The detector used internally to monitor drifts.
  rng
      Random number generator used in Poisson sampling.
  kwargs
      Other parameters passed to the learning node.
code: def __init__(
      self, stats, depth, splitter, drift_detector, rng, **kwargs
  ):
      super().__init__(stats, depth, splitter, **kwargs)
      self.drift_detector = drift_detector
      self.rng = rng
      self._mean_error = 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 AdaLeafClassifier object from inherited base classes: LeafNaiveBayesAdaptive with example: obj = AdaLeafClassifier(stats, depth, splitter, drift_detector, rng)