Page 71 - Data Science Algorithms in a Week
P. 71
Decision Trees
from anytree import Node, RenderTree
import sys
sys.path.append('../common')
import common
import decision_tree
# Program start
csv_file_name = sys.argv[1]
verbose = int(sys.argv[2]) # verbosity level, 0 - only decision tree
# Define the equired column to be the last one.
# I.e. a column defining the decision variable.
(heading, complete_data, incomplete_data,
enquired_column) = common.csv_file_to_ordered_data(csv_file_name)
tree = decision_tree.constuct_decision_tree(
verbose, heading, complete_data, enquired_column)
decision_tree.display_tree(tree)
# source_code/common/decision_tree.py
# ***Decision Tree library ***
# Used to construct a decision tree and a random forest.
import math
import random
import common
from anytree import Node, RenderTree
from common import printfv
# Node for the construction of a decision tree.
class TreeNode:
def __init__(self, var=None, val=None):
self.children = []
self.var = var
self.val = val
def add_child(self, child):
self.children.append(child)
def get_children(self):
return self.children
def get_var(self):
return self.var
def get_val(self):
return self.val
[ 59 ]