def test_api_multiple_trees(self): mrbbagging = MRBBagging(5, tree.DecisionTreeClassifier(random_state=0), random_state=0) mrbbagging.fit(X_train, y_train) y_pred = mrbbagging.predict(X_test) assert all(y_pred == y_test)
def test_api_with_feature_selection(self): mrbbagging = MRBBagging(1, tree.DecisionTreeClassifier(random_state=0), feature_selection=True, random_state=0) mrbbagging.fit(X_train, y_train) y_pred = mrbbagging.predict(X_test) assert all(y_pred == y_test)
def test__group_data(self): mrbbagging = MRBBagging(1, tree.DecisionTreeClassifier()) x = [[1, 1, 1], [2, 2, 2], [3, 3, 3]] y = ["A", "B", "C"] classes, grouped_data = mrbbagging._group_data(x, y) self.assertEqual(classes, {'A', 'B', 'C'}) self.assertEqual( grouped_data, { 'C': [[[3, 3, 3], 'C']], 'A': [[[1, 1, 1], 'A']], 'B': [[[2, 2, 2], 'B']] })
def test__group_data_with_none(self): mrbbagging = MRBBagging(1, tree.DecisionTreeClassifier()) x = [[1, 1, 1], [2, 2, 2], [3, 3, 3]] y = ["A", None, "C"] with self.assertRaises(AssertionError): mrbbagging._group_data(x, y)
def test_with_invalid_k(self): with self.assertRaises(AssertionError): MRBBagging(0, tree.DecisionTreeClassifier())
def test_fit_with_invalid_classifier(self): with self.assertRaises(AssertionError): MRBBagging(1, None)
def test_fit_with_invalid_labels(self): mrbbagging = MRBBagging(1, MagicMock()) x = [[1, 1, 1], [2, 2, 2], [3, 3, 3]] y = ["A", "B"] with self.assertRaises(AssertionError): mrbbagging.fit(x, y)