您的位置:首页 > 编程语言 > Python开发

pyTree(tree structure in python )

2013-10-31 10:10 288 查看
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定义)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐