class_docstr: The value of a metric.
  
  :param scores: The value of the metric per row
  :param justifications: The justification (if applicable) for the respective score
  :param aggregate_results: A dictionary mapping the name of the aggregation to its value
code: def __init__(
      self, scores=None, justifications=None, aggregate_results=None
  ):
      self.scores = scores
      self.justifications = justifications
      self.aggregate_results = aggregate_results
  
      if (
          self.aggregate_results is None
          and isinstance(scores, (list, tuple))
          and all(_is_numeric(score) for score in scores)
      ):
          self.aggregate_results = standard_aggregations(scores)
  
imports: from dataclasses import dataclass
  from typing import Dict, List, Union
  import numpy
  from mlflow.utils.annotations import experimental
  from mlflow.utils.validation import _is_numeric
label_desc: Use image node_id 1 to create a new MetricValue object  with example: obj = MetricValue(scores, justifications, aggregate_results)