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

Automated Decision Making Using Decision Tree Classifier

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

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

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

您可以使用这个简单的 Node class 将条件存储为属性 left_condition 中的 lambda。如果 left_condition 是 None,则该节点是叶子并且 returns 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