code: def merit_of_split(self, pre_split_dist, post_split_dist):
      icvr = 0.0
      n = list(pre_split_dist.values())[0].mean.n
  
      count = 0
  
      for dist in post_split_dist:
          n_i = list(dist.values())[0].mean.n
          if n_i >= self.min_samples_split:
              count += 1
  
      if count == len(post_split_dist):
          icvr = self.compute_var(pre_split_dist)
          for dist in post_split_dist:
              n_i = list(dist.values())[0].mean.n
              icvr -= n_i / n * self.compute_var(dist)
      return icvr
  
imports: from __future__ import annotations
  from .variance_reduction_split_criterion import VarianceReductionSplitCriterion
label_desc: Use image node_id 2 for calling the IntraClusterVarianceReductionSplitCriterion obj's underlying member method code with example usage: obj.merit_of_split(pre_split_dist, post_split_dist) and returns: icvr