class_docstr: Learning Node for Multi-target Regression tasks that always uses learning models
  for each target.
  
  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, **kwargs)
      self._leaf_models = leaf_models
      self._model_supports_weights = {}
      if self._leaf_models:
          for t in self._leaf_models:
              sign = inspect.signature(
                  self._leaf_models[t].learn_one
              ).parameters
              self._model_supports_weights[t] = (
                  "sample_weight" in sign or "w" in sign
              )
  
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 LeafModelMultiTarget object from inherited base classes: LeafMeanMultiTarget with example: obj = LeafModelMultiTarget(stats, depth, splitter, leaf_models)