Ejemplo n.º 1
0
    def test_create_tree(self):
        tree = dt._create_decision_node(self.x, self.labels_train)
        assert(tree.split[0] == 2)

        for i in range(2):
            assert tree.children[i].majority == i
            assert tree.children[1].split is None
Ejemplo n.º 2
0
    def test_create_tree(self):
        tree = dt._create_decision_node(self.x, self.labels_train)
        assert (tree.split[0] == 2)

        for i in range(2):
            assert tree.children[i].majority == i
            assert tree.children[1].split is None
Ejemplo n.º 3
0
 def test_min_obs_split(self):
     min_obs = 5
     tree = dt._create_decision_node(X_TRAIN, self.labels_train,
                                     min_obs_split=min_obs)
     for desc in tree.descendents():
         if len(dt._data_at_node(tree, desc, X_TRAIN)) < min_obs:
             assert desc.split is None
Ejemplo n.º 4
0
 def test_min_obs_split(self):
     min_obs = 5
     tree = dt._create_decision_node(X_TRAIN,
                                     self.labels_train,
                                     min_obs_split=min_obs)
     for desc in tree.descendents():
         if len(dt._data_at_node(tree, desc, X_TRAIN)) < min_obs:
             assert desc.split is None
Ejemplo n.º 5
0
    def test_first_split(self):
        tree = dt._create_decision_node(self.x, self.labels_train)

        x_sorted = np.sort(self.x[:,2])
        zero_ind = np.searchsorted(x_sorted, 0)

        assert tree.split[0] == 2
        assert (tree.split[1] == x_sorted[zero_ind] or
                tree.split[1] == x_sorted[zero_ind-1])
Ejemplo n.º 6
0
    def test_first_split(self):
        tree = dt._create_decision_node(self.x, self.labels_train)

        x_sorted = np.sort(self.x[:, 2])
        zero_ind = np.searchsorted(x_sorted, 0)

        assert tree.split[0] == 2
        assert (tree.split[1] == x_sorted[zero_ind]
                or tree.split[1] == x_sorted[zero_ind - 1])
Ejemplo n.º 7
0
 def test__data_at_node(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert np.all(
         self.x[self.x[:,2] < 0] == dt._data_at_node(tree, tree.children[0],
                                                    self.x)
     )
     assert np.all(
         self.x[self.x[:,2] > 0] == dt._data_at_node(tree, tree.children[1],
                                                    self.x)
     )
Ejemplo n.º 8
0
 def test_num_nodes_min_split(self):
     tree_minobs0 = dt._create_decision_node(X_TRAIN, self.labels_train)
     tree_minobs10 = dt._create_decision_node(X_TRAIN,
                                              self.labels_train,
                                              min_obs_split=10)
     assert tree_minobs0.num_nodes() > tree_minobs10.num_nodes()
Ejemplo n.º 9
0
 def test_stumps(self):
     tree = dt._create_decision_node(X_TRAIN, self.labels_train)
     for stump in tree.stumps():
         for i in range(2):
             assert (stump.children[i].split is None)
Ejemplo n.º 10
0
 def test_stumps(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert (len(tree.stumps()) == 1)
     assert (tree.stumps()[0] is tree)
Ejemplo n.º 11
0
 def test__data_at_node(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert np.all(self.x[self.x[:, 2] < 0] == dt._data_at_node(
         tree, tree.children[0], self.x))
     assert np.all(self.x[self.x[:, 2] > 0] == dt._data_at_node(
         tree, tree.children[1], self.x))
Ejemplo n.º 12
0
 def test_stumps_nodepth(self):
     tree = dt._create_decision_node(self.x, self.labels_train, max_depth=0)
     assert(len(tree.stumps()) == 0)
Ejemplo n.º 13
0
 def test_tree_max_depth(self):
     tree = dt._create_decision_node(self.x, self.labels_train, max_depth=0)
     assert tree.split is None
Ejemplo n.º 14
0
 def test_num_nodes_min_split(self):
     tree_minobs0  = dt._create_decision_node(X_TRAIN, self.labels_train)
     tree_minobs10 = dt._create_decision_node(X_TRAIN, self.labels_train,
                                              min_obs_split=10)
     assert tree_minobs0.num_nodes() > tree_minobs10.num_nodes()
Ejemplo n.º 15
0
 def test_classify(self):
     tree = dt._create_decision_node(X_TRAIN, self.labels_train)
     for obs, label in zip(X_TRAIN, self.labels_train):
         assert tree.classify_obs(obs) == label
Ejemplo n.º 16
0
 def test_stumps(self):
     tree = dt._create_decision_node(X_TRAIN, self.labels_train)
     for stump in tree.stumps():
         for i in range(2):
             assert(stump.children[i].split is None)
Ejemplo n.º 17
0
 def test_tree_print(self):
     tree = dt._create_decision_node(X_TRAIN, self.labels_train)
     print(tree)
Ejemplo n.º 18
0
 def test_num_nodes1(self):
     tree = dt._create_decision_node(self.x, self.labels_train, max_depth=0)
     assert tree.num_nodes() == 1
Ejemplo n.º 19
0
 def test_tree_max_depth(self):
     tree = dt._create_decision_node(self.x, self.labels_train, max_depth=0)
     assert tree.split is None
Ejemplo n.º 20
0
 def test_stumps(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert(len(tree.stumps()) == 1)
     assert(tree.stumps()[0] is tree)
Ejemplo n.º 21
0
 def test_num_nodes(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert tree.num_nodes() == 3
Ejemplo n.º 22
0
 def test_num_nodes(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert tree.num_nodes() == 3
Ejemplo n.º 23
0
 def test_descendents(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert len(tree.descendents()) == 3
     assert tree in tree.descendents()
     for i in range(2):
         assert tree.children[i] in tree.descendents()
Ejemplo n.º 24
0
 def test_num_nodes1(self):
     tree = dt._create_decision_node(self.x, self.labels_train, max_depth=0)
     assert tree.num_nodes() == 1
Ejemplo n.º 25
0
 def test_classify(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     for obs, label in zip(self.x, self.labels_train):
         assert tree.classify_obs(obs) == label
Ejemplo n.º 26
0
 def test_tree_print(self):
     tree = dt._create_decision_node(X_TRAIN, self.labels_train)
     print(tree)
Ejemplo n.º 27
0
 def test_stumps_nodepth(self):
     tree = dt._create_decision_node(self.x, self.labels_train, max_depth=0)
     assert (len(tree.stumps()) == 0)
Ejemplo n.º 28
0
 def test_descendents(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert len(tree.descendents()) == 3
     assert tree in tree.descendents()
     for i in range(2):
         assert tree.children[i] in tree.descendents()