class_docstr: Hellinger Distance split criterion.
  
  The Hellinger distance is a measure of distributional divergence.
  It is used as the splitting criterion [^1] on decision trees to to address
  the imbalanced data problem.
  
  References
  ----------
  [^1]: Cieslak, David A., T. Ryan Hoens, Nitesh V. Chawla, and W. Philip Kegelmeyer.
  "Hellinger distance decision trees are robust and skew-insensitive." Data Mining
  and Knowledge Discovery 24, no. 1 (2012): 136-158.
code: def compute_hellinger(dist):
      try:
          left_branch_positive = dist[0][1]
          left_branch_negative = dist[0][0]
          right_branch_positive = dist[1][1]
          right_branch_negative = dist[1][0]
      except KeyError:
          return 0
      total_negative = left_branch_negative + right_branch_negative
      total_positive = left_branch_positive + right_branch_positive
  
      hellinger = (
          math.sqrt(left_branch_negative / total_negative)
          - math.sqrt(left_branch_positive / total_positive)
      ) ** 2 + (
          math.sqrt(right_branch_negative / total_negative)
          - math.sqrt(right_branch_positive / total_positive)
      ) ** 2
  
      return math.sqrt(hellinger)
  
file_path: river/river/tree/split_criterion/hellinger_distance_criterion.py
imports: from __future__ import annotations
  import math
  from .base import SplitCriterion
label_desc: Use image node_id 3 for calling the HellingerDistanceCriterion obj's underlying member method code with example usage: obj.compute_hellinger(dist) and returns: math, int