如何使用python语言遍历二元决策树。 给一棵树,我想知道我们如何从根到需要的叶子 所需叶子的特征以字典形式给出,并且必须从根到叶遍历,在每个节点处回答问题,并在特征列表中给出详细信息。 决策树节点有格式((问题)(左树)(右树)) 遍历它应该在每个节点回答问题并选择左或右并横向直到叶子?
答案 0 :(得分:1)
def walk(node):
answer = ask(node.question)
if answer == left:
walk(node.left_tree)
else:
walk(node.right_tree)
def ask(question):
# get answer somehow
# depending on the answer choose which subtree to traverse
return answer
答案 1 :(得分:0)
@TheMachineCharmer是对的:recursivity是这里的关键字!
我会添加@TheMachineCharmer给出的一个很好的函数一点回报(这个简单的案例,答案既不左也不右)
def walk(node):
answer = ask(node.question)
if answer == left:
walk(node.left_tree)
else:
walk(node.right_tree)
return answer
这样,如果节点包含真实答案,它将返回它。