class_docstr: Class that represents a decision node or leaf in the decision tree
  
  Parameters:
  -----------
  feature_i: int
      Feature index which we want to use as the threshold measure.
  threshold: float
      The value that we will compare feature values at feature_i against to
      determine the prediction.
  value: float
      The class prediction if classification tree, or float value if regression tree.
  true_branch: DecisionNode
      Next decision node for samples where features value met the threshold.
  false_branch: DecisionNode
      Next decision node for samples where features value did not meet the threshold.
class_docstr_tok: ["Class","that","represents","a","decision","node","or","leaf","in","the","decision","tree","Parameters",":","--","--","--","--","--","-","feature_i",":","int","Feature","index","which","we","want","to","use","as","the","threshold","measure",".","threshold",":","float","The","value","that","we","will","compare","feature","values","at","feature_i","against","to","determine","the","prediction",".","value",":","float","The","class","prediction","if","classification","tree",",","or","float","value","if","regression","tree",".","true_branch",":","DecisionNode","Next","decision","node","for","samples","where","features","value","met","the","threshold",".","false_branch",":","DecisionNode","Next","decision","node","for","samples","where","features","value","did","not","meet","the","threshold","."]
code: def __init__(
      self,
      feature_i=None,
      threshold=None,
      value=None,
      true_branch=None,
      false_branch=None,
  ):
      self.feature_i = feature_i  # Index for the feature that is tested
      self.threshold = threshold  # Threshold value for feature
      self.value = value  # Value if the node is a leaf in the tree
      self.true_branch = true_branch  # 'Left' subtree
      self.false_branch = false_branch
  
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 to create a new DecisionNode object  with example: obj = DecisionNode(feature_i, threshold, value, true_branch, false_branch)