code: def _calculate_information_gain(self, y, y1, y2):
      # Calculate information gain
      p = len(y1) / len(y)
      entropy = calculate_entropy(y)
      info_gain = (
          entropy
          - p * calculate_entropy(y1)
          - (1 - p) * calculate_entropy(y2)
      )
  
      return info_gain
  
imports: from __future__ import division, print_function
  import numpy
  from mlfromscratch.utils import divide_on_feature, train_test_split, standardize, mean_squared_error
  from mlfromscratch.utils import calculate_entropy, accuracy_score, calculate_variance
label_desc: Use image node_id 1 for calling the ClassificationTree obj's underlying member method code with example usage: obj._calculate_information_gain(y, y1, y2) and returns: info_gain