def test_predict_proba_weighting(): query = np.array([-1, 1]) pool_classifiers = create_pool_classifiers() des_test = DES(pool_classifiers, mode='weighting') competences = np.array([0.5, 1.0, 0.2]) des_test.estimate_competence = MagicMock(return_value=competences) des_test.n_classes = 2 expected = np.array([0.5769, 0.4231]) predicted_proba = des_test.predict_proba_instance(query) assert np.isclose(predicted_proba, expected, atol=0.01).all()
def test_predict_proba_selection(): query = np.array([-1, 1]) pool_classifiers = create_pool_classifiers() + create_pool_classifiers() des_test = DES(pool_classifiers, mode='selection') selected_indices = [0, 1, 5] des_test.select = MagicMock(return_value=selected_indices) des_test.n_classes = 2 expected = np.array([0.61, 0.39]) predicted_proba = des_test.predict_proba_instance(query) assert np.isclose(predicted_proba, expected, atol=0.01).all()
def test_predict_proba_hybrid(): query = np.array([-1, 1]) pool_classifiers = create_pool_classifiers() + create_pool_classifiers() des_test = DES(pool_classifiers, mode='hybrid') des_test.n_classes = 2 selected_indices = [0, 1, 5] competences = np.array([0.55, 1.0, 0.2, 0.60, 0.75, 0.3]) expected = np.array([0.5744, 0.4256]) des_test.estimate_competence = MagicMock(return_value=competences) des_test.select = MagicMock(return_value=selected_indices) predicted_proba = des_test.predict_proba_instance(query) assert np.isclose(predicted_proba, expected, atol=0.01).all()