def test_estimate_competence(index, expected): query = np.atleast_2d([1, 1]) des_p_test = DESP(create_pool_classifiers()) des_p_test.fit(X_dsel_ex1, y_dsel_ex1) des_p_test.DFP_mask = np.ones(des_p_test.n_classifiers) des_p_test.neighbors = neighbors_ex1[index, :] des_p_test.distances = distances_ex1[index, :] competences = des_p_test.estimate_competence(query) assert np.isclose(competences, expected, atol=0.01).all()
def test_estimate_competence_batch(): query = np.ones((3, 2)) expected = np.array([[0.57142857, 0.4285714, 0.57142857], [0.71428571, 0.2857142, 0.71428571], [0.2857142, 0.71428571, 0.2857142]]) des_p_test = DESP(create_pool_classifiers()) des_p_test.fit(X_dsel_ex1, y_dsel_ex1) des_p_test.DFP_mask = np.ones((3, des_p_test.n_classifiers)) des_p_test.neighbors = neighbors_ex1 des_p_test.distances = distances_ex1 competences = des_p_test.estimate_competence(query) assert np.allclose(competences, expected, atol=0.01)
def test_select_two_classes(index, expected): query = np.atleast_2d([1, 1]) des_p_test = DESP(create_pool_classifiers()) des_p_test.fit(X_dsel_ex1, y_dsel_ex1) des_p_test.DFP_mask = np.ones(des_p_test.n_classifiers) des_p_test.neighbors = neighbors_ex1[index, :] des_p_test.distances = distances_ex1[index, :] competences = des_p_test.estimate_competence(query) selected = des_p_test.select(competences) assert selected == expected
def test_select_three_classes(index, expected): query = np.atleast_2d([1, 1]) des_p_test = DESP(create_pool_classifiers()) des_p_test.fit(X_dsel_ex1, y_dsel_ex1) des_p_test.n_classes = 3 des_p_test.neighbors = neighbors_ex1[index, :] des_p_test.distances = distances_ex1[index, :] competences = des_p_test.estimate_competence(query) selected = des_p_test.select(competences) assert np.array_equal(selected, expected)