Пример #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
Пример #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
Пример #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
Пример #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
Пример #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])
Пример #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])
Пример #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)
     )
Пример #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()
Пример #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)
Пример #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)
Пример #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))
Пример #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)
Пример #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
Пример #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()
Пример #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
Пример #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)
Пример #17
0
 def test_tree_print(self):
     tree = dt._create_decision_node(X_TRAIN, self.labels_train)
     print(tree)
Пример #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
Пример #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
Пример #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)
Пример #21
0
 def test_num_nodes(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert tree.num_nodes() == 3
Пример #22
0
 def test_num_nodes(self):
     tree = dt._create_decision_node(self.x, self.labels_train)
     assert tree.num_nodes() == 3
Пример #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()
Пример #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
Пример #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
Пример #26
0
 def test_tree_print(self):
     tree = dt._create_decision_node(X_TRAIN, self.labels_train)
     print(tree)
Пример #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)
Пример #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()