def testCutTree(self): dictTree = DictTree() dictTree.setVertex("a", "foo") dictTree.addEdge("a", "b", 2) dictTree.addEdge("a", "c") dictTree.addEdge("c", "d", 5) dictTree.addEdge("c", "f") A = numpy.array([10, 2]) dictTree.setVertex("b", A) newTree = dictTree.cut(2) self.assertEquals(newTree.getVertex("a"), "foo") self.assertTrue((newTree.getVertex("b") == A).all()) self.assertEquals(newTree.getEdge("a", "b"), 2) self.assertEquals(newTree.getEdge("a", "c"), 1) self.assertEquals(newTree.getEdge("c", "d"), 5) self.assertEquals(newTree.getEdge("c", "f"), 1) self.assertEquals(newTree.getNumVertices(), dictTree.getNumVertices()) self.assertEquals(newTree.getNumEdges(), dictTree.getNumEdges()) newTree = dictTree.cut(1) self.assertEquals(newTree.getEdge("a", "b"), 2) self.assertEquals(newTree.getEdge("a", "c"), 1) self.assertEquals(newTree.getNumVertices(), 3) self.assertEquals(newTree.getNumEdges(), 2) newTree = dictTree.cut(0) self.assertEquals(newTree.getNumVertices(), 1) self.assertEquals(newTree.getNumEdges(), 0)
def testCutTree(self): dictTree = DictTree() dictTree.setVertex("a", "foo") dictTree.addEdge("a", "b", 2) dictTree.addEdge("a", "c") dictTree.addEdge("c", "d", 5) dictTree.addEdge("c", "f") A = numpy.array([10, 2]) dictTree.setVertex("b", A) newTree = dictTree.cut(2) self.assertEquals(newTree.getVertex("a"), "foo") self.assertTrue((newTree.getVertex("b") == A).all()) self.assertEquals(newTree.getEdge("a", "b"), 2) self.assertEquals(newTree.getEdge("a", "c"), 1) self.assertEquals(newTree.getEdge("c", "d"), 5) self.assertEquals(newTree.getEdge("c", "f"), 1) self.assertEquals(newTree.getNumVertices(), dictTree.getNumVertices()) self.assertEquals(newTree.getNumEdges(), dictTree.getNumEdges()) newTree = dictTree.cut(1) self.assertEquals(newTree.getEdge("a", "b"), 2) self.assertEquals(newTree.getEdge("a", "c"), 1) self.assertEquals(newTree.getNumVertices(), 3) self.assertEquals(newTree.getNumEdges(), 2) newTree = dictTree.cut(0) self.assertEquals(newTree.getNumVertices(), 1) self.assertEquals(newTree.getNumEdges(), 0)
def testSplitNode(self): d = 0 k = 0 maxDepth = 1 inds = numpy.arange(self.y.shape[0]) treeRank = TreeRank(self.leafRanklearner) treeRank.setMaxDepth(maxDepth) node = RankNode(inds, numpy.arange(self.X.shape[1])) tree = DictTree() tree.setVertex((0, 0), node) tree = treeRank.splitNode(tree, self.X, self.y, d, k) self.assertEquals(tree.getNumVertices(), 3) self.assertEquals(tree.getNumEdges(), 2) self.assertEquals(tree.getRootId(), (0, 0)) self.assertTrue(not tree.getVertex((0, 0)).isLeafNode()) self.assertTrue(tree.getVertex((1, 0)).isLeafNode()) self.assertTrue(tree.getVertex((1, 1)).isLeafNode()) self.assertTrue(tree.depth() <= maxDepth)
def testSplitNode(self): d = 0 k = 0 maxDepth = 1 inds = numpy.arange(self.y.shape[0]) treeRank = TreeRank(self.leafRanklearner) treeRank.setMaxDepth(maxDepth) node = RankNode(inds, numpy.arange(self.X.shape[1])) tree = DictTree() tree.setVertex((0, 0), node) tree = treeRank.splitNode(tree, self.X, self.y, d, k) self.assertEquals(tree.getNumVertices(), 3) self.assertEquals(tree.getNumEdges(), 2) self.assertEquals(tree.getRootId(), (0, 0)) self.assertTrue(not tree.getVertex((0, 0)).isLeafNode()) self.assertTrue(tree.getVertex((1, 0)).isLeafNode()) self.assertTrue(tree.getVertex((1, 1)).isLeafNode()) self.assertTrue(tree.depth() <= maxDepth)