class_docstr: Macro-average wrapper.
  
  A copy of the provided metric is made for each output. The arithmetic average of all the
  metrics is returned.
  
  Parameters
  ----------
  metric
      A classification or a regression metric.
class_docstr_tok: ["Macro-average","wrapper",".","A","copy","of","the","provided","metric","is","made","for","each","output",".","The","arithmetic","average","of","all","the","metrics","is","returned",".","Parameters","--","--","--","--","--","metric","A","classification","or","a","regression","metric","."]
code: def update(self, y_true, y_pred, w=1.0):
      for i in y_true:
          self.metrics[i].update(y_true[i], y_pred[i], w)
  
file_path: river/river/metrics/multioutput/macro.py
imports: from __future__ import annotations
  import statistics
  from collections import defaultdict
  from copy import deepcopy
  from functools import partial
  from river import metrics, utils
  from river.metrics.multioutput.base import MultiOutputMetric
label_desc: Use image node_id 4 for calling the MacroAverage obj's underlying member method code with example usage: obj.update(y_true, y_pred, w) without return types