示例#1
0
 def test_get_subspaces(self):
     dataset = np.random.random((10, 16))
     y = np.random.randint(0, 2, 10)
     expected_values = [
         ("auto", 4),
         ("log2", 4),
         ("sqrt", 4),
         (0.5, 8),
         (3, 3),
         (None, 16),
     ]
     clf = Stree()
     for max_features, expected in expected_values:
         clf.set_params(**dict(max_features=max_features))
         clf.fit(dataset, y)
         computed, indices = clf.splitter_.get_subspace(
             dataset, y, clf.max_features_)
         self.assertListEqual(dataset[:, indices].tolist(),
                              computed.tolist())
         self.assertEqual(expected, len(indices))
示例#2
0
 def test_max_features(self):
     n_features = 16
     expected_values = [
         ("auto", 4),
         ("log2", 4),
         ("sqrt", 4),
         (0.5, 8),
         (3, 3),
         (None, 16),
     ]
     clf = Stree()
     clf.n_features_ = n_features
     for max_features, expected in expected_values:
         clf.set_params(**dict(max_features=max_features))
         computed = clf._initialize_max_features()
         self.assertEqual(expected, computed)
     # Check bogus max_features
     values = ["duck", -0.1, 0.0]
     for max_features in values:
         clf.set_params(**dict(max_features=max_features))
         with self.assertRaises(ValueError):
             _ = clf._initialize_max_features()