code: def __init__(self, n_outputs: int, n_classes: ivy.Array):
      self.start = 0
      self.pos = 0
      self.end = 0
      self.missing_go_to_left = 0
      self.n_outputs = n_outputs
      self.n_samples = 0
      self.n_node_samples = 0
      self.weighted_n_node_samples = 0.0
      self.weighted_n_left = 0.0
      self.weighted_n_right = 0.0
      self.weighted_n_missing = 0.0
      self.n_classes = ivy.empty(n_outputs, dtype=ivy.int16)
      max_n_classes = 0
  
      for k in range(n_outputs):
          self.n_classes[k] = n_classes[k]
          if n_classes[k] > max_n_classes:
              max_n_classes = n_classes[k]
      if isinstance(max_n_classes, ivy.Array):
          max_n_classes = ivy.to_scalar(max_n_classes)
      self.max_n_classes = max_n_classes
  
      self.sum_total = ivy.zeros(
          (n_outputs, max_n_classes), dtype=ivy.float64
      )
      self.sum_left = ivy.zeros(
          (n_outputs, max_n_classes), dtype=ivy.float64
      )
      self.sum_right = ivy.zeros(
          (n_outputs, max_n_classes), dtype=ivy.float64
      )
  
imports: from abc import ABC, abstractmethod
  import ivy
label_desc: Use image node_id 1 to create a new ClassificationCriterion object from inherited base classes: Criterion with example: obj = ClassificationCriterion(n_outputs, n_classes)