MCPcopy Index your code
hub / github.com/ddbourgin/numpy-ml / clone_tree

Function clone_tree

numpy_ml/tests/test_trees.py:16–36  ·  view source on GitHub ↗
(dtree)

Source from the content-addressed store, hash-verified

14
15
16def clone_tree(dtree):
17 children_left = dtree.tree_.children_left
18 children_right = dtree.tree_.children_right
19 feature = dtree.tree_.feature
20 threshold = dtree.tree_.threshold
21 values = dtree.tree_.value
22
23 def grow(node_id):
24 l, r = children_left[node_id], children_right[node_id]
25 if l == r:
26 return Leaf(values[node_id].argmax())
27 n = Node(None, None, (feature[node_id], threshold[node_id]))
28 n.left = grow(l)
29 n.right = grow(r)
30 return n
31
32 node_id = 0
33 root = Node(None, None, (feature[node_id], threshold[node_id]))
34 root.left = grow(children_left[node_id])
35 root.right = grow(children_right[node_id])
36 return root
37
38
39def compare_trees(mine, gold):

Callers 1

compare_treesFunction · 0.85

Calls 2

NodeClass · 0.90
growFunction · 0.85

Tested by

no test coverage detected