class_docstr: Learning Node for multi-target regression tasks that dynamically selects between
  predictors and might behave as a regression tree node or a model tree node, depending
  on which predictor is the best one.
  
  Parameters
  ----------
  stats
      In regression tasks the node keeps a `utils.VectorDict` with instances of
      `stats.Var` to estimate the targets' statistics.
  depth
      The depth of the node.
  splitter
      The numeric attribute observer algorithm used to monitor target statistics
      and perform split attempts.
  leaf_models
      A dictionary composed of target identifiers and their respective predictive models.
  kwargs
      Other parameters passed to the learning node.
code: def __init__(self, stats, depth, splitter, leaf_models, **kwargs):
      super().__init__(stats, depth, splitter, leaf_models, **kwargs)
      self._fmse_mean = collections.defaultdict(float)
      self._fmse_model = collections.defaultdict(float)
  
imports: from __future__ import annotations
  import collections
  import functools
  import inspect
  from copy import deepcopy
  from river.stats import Var
  from river.utils import VectorDict
  from .htr_nodes import LeafMean
label_desc: Use image node_id 1 to create a new LeafAdaptiveMultiTarget object from inherited base classes: LeafModelMultiTarget with example: obj = LeafAdaptiveMultiTarget(stats, depth, splitter, leaf_models)