class_docstr: Super class of RegressionTree and ClassificationTree.
  
  Parameters:
  -----------
  min_samples_split: int
      The minimum number of samples needed to make a split when building a tree.
  min_impurity: float
      The minimum impurity required to split the tree further.
  max_depth: int
      The maximum depth of a tree.
  loss: function
      Loss function that is used for Gradient Boosting models to calculate impurity.
class_docstr_tok: ["Super","class","of","RegressionTree","and","ClassificationTree",".","Parameters",":","--","--","--","--","--","-","min_samples_split",":","int","The","minimum","number","of","samples","needed","to","make","a","split","when","building","a","tree",".","min_impurity",":","float","The","minimum","impurity","required","to","split","the","tree","further",".","max_depth",":","int","The","maximum","depth","of","a","tree",".","loss",":","function","Loss","function","that","is","used","for","Gradient","Boosting","models","to","calculate","impurity","."]
docstr: Recursively print the decision tree 
docstr_tok: ["Recursively","print","the","decision","tree"]
code: def print_tree(self, tree=None, indent=" "):
      """Recursively print the decision tree"""
      if not tree:
          tree = self.root
  
      # If we're at leaf => print the label
      if tree.value is not None:
          print(tree.value)
      # Go deeper down the tree
      else:
          # Print test
          print("%s:%s? " % (tree.feature_i, tree.threshold))
          # Print the true scenario
          print("%sT->" % (indent), end="")
          self.print_tree(tree.true_branch, indent + indent)
          # Print the false scenario
          print("%sF->" % (indent), end="")
          self.print_tree(tree.false_branch, indent + indent)
  
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 6 for calling the DecisionTree obj's underlying member method code with example usage: obj.print_tree(tree, indent) without return types