使用python遍历二元决策树?

时间:2010-05-26 09:37:34

标签: python decision-tree traversal

如何使用python语言遍历二元决策树。 给一棵树,我想知道我们如何从根到需要的叶子 所需叶子的特征以字典形式给出,并且必须从根到叶遍历,在每个节点处回答问题,并在特征列表中给出详细信息。 决策树节点有格式((问题)(左树)(右树)) 遍历它应该在每个节点回答问题并选择左或右并横向直到叶子?

2 个答案:

答案 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

这样,如果节点包含真实答案,它将返回它。