pyTree(tree structure in python )

本文介绍了一个使用Python实现的决策树构建示例,包括内部节点和叶节点的定义,通过lambda表达式设置判断条件,并展示了如何创建一个简单的决策树。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/caesar0301/pyTree

例子(decision tree):

class innerNode(Node):
    def __init__(self,attribute,parent_node_assert,identifier=None, expanded=True):
        self.node_assert = parent_node_assert
        self.tag = attribute

        self._identifier = self.set_identifier(identifier)
        self.expanded = expanded
        self._bpointer = None
        self._fpointer = []

    def __str__(self):
        return str(self.node_assert)

class leafNode(Node):
    def __init__(self,class_label,parent_node_assert,identifier=None, expanded=True):
        self.tag = class_label
        self.node_assert = parent_node_assert

        self._identifier = self.set_identifier(identifier)
        self.expanded = expanded
        self._bpointer = None
        self._fpointer = []

    def __str__(self):
        return str(self.class_label)

def create_decision_tree():
    true = lambda x:True

    tree = Tree()
    tree.add_node(innerNode('salary', true,1))
    tree.add_node(innerNode(">10",lambda x:x>10,2),parent=1)
    tree.add_node(innerNode("<=10",lambda x:x<=10,3),parent=1)

    tree.add_node(leafNode("yes",true,4),parent=2)
    tree.add_node(leafNode("no",true,5),parent=3)

    tree.show()
    return tree


注意事项:

1. 如果自定义了MyNode, (1)建树的时候不能用tree.create_node()(它会取默认的node类),而是用tree.add_node()

                                              (2)重载定义新的MyNode时,__init__函数的参数要写全。(参考官方的Node定义)



版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/huaweiquankaiyueweiyuan/p/4964418.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值