, . , node , - . :
class Node(object):
def __init__(self):
self.split_variable = None
self.left_child = None
self.right_child = None
def get_name(self):
return 'Node'
class Leaf(object):
def __init__(self):
self.value = None
def get_name(self):
return 'Leaf'
node: "split_variable" , split, : [a, t, g, c] "left_child" "right_child" node Leaf. / /. ( node "split_value" /, , ).
"": "" (.. ).
, / . . get_name() , . , , pandas DataFrames, . ():
def evaluate_tree(your_data, node):
if your_data[node.split_variable]:
if node.left_child.get_name() == 'Node':
evaluate_tree(your_data, node.left_child)
elif node.left_child.get_name() == 'Leaf':
return node.left_child.value
else:
if node.right_child.get_name() == 'Node':
evaluate_tree(your_data, node.right_child)
elif node.right_child.get_name() == 'Leaf':
return node.right_child.value
!