使用决策树分类器进行自动决策

时间:2021-01-13 08:14:57

标签: python decision-tree

我正在尝试编写一个决策过程,否则需要大量的 IF ELSE 脚本,我想知道是否可以在 scikit learn 的决策树分类器中以根节点、决策节点和离开节点的形式表达整个过程.

请注意,这里不涉及培训,只是节点的直接用户定义。

1 个答案:

答案 0 :(得分:0)

我明白了,但决策树是一种非常特殊的算法,其目标与您的目标大不相同。根据条件的种类以及您拥有的条件的数量,您应该首先评估地图(字典)是否更合适。如果你仍然认为你需要继续使用树结构,你应该像@akshay-sehgal 所说的那样实现你自己的树。

您可以使用这个简单的 Node 类,该类将条件作为 lambda 存储在属性 left_condition 中。如果 left_condition 为 None,则该节点是叶节点并返回 value。否则,它是一个决策节点并转到 leftright 节点,如您在 get_value 函数中所见:

class Node:
    def __init__(left_condition = None, value = None, left = None, right= None):
    self.left_condition = left_condition
    self.value = value
    self.left = left
    self.right = right


def get_value(tree,data):
    node = tree
    while node.left_condition is not None:
        if left_condition(data):
            node = node.left
        else:
            node = node.right
    return node.value