def test_estimate_competence_kuncheva_ex(): query = np.array([1, 1]) mla_test = MLA([create_base_classifier(return_value=1)], k=k_ex_kuncheva) mla_test.processed_dsel = dsel_processed_kuncheva mla_test.dsel_scores = dsel_scores_ex_kuncheva mla_test.DSEL_target = y_dsel_ex_kuncheva_dependent mla_test.n_classes = n_classes_ex_kuncheva mla_test.neighbors = neighbors_ex_kuncheva mla_test.distances = distances_ex_kuncheva mla_test.DFP_mask = [1] competences = mla_test.estimate_competence(query.reshape(1, -1)) assert np.isclose(competences, 0.95, atol=0.01)
def test_estimate_competence_diff_target(index): query = np.array([1, 1]) mla_test = MLA(create_pool_classifiers()) mla_test.processed_dsel = dsel_processed_ex1 mla_test.DSEL_target = np.ones(15, dtype=int) * 3 mla_test.neighbors = neighbors_ex1[index, :] mla_test.distances = distances_ex1[index, :] mla_test.DFP_mask = [1, 1, 1] expected = [0.0, 0.0, 0.0] competences = mla_test.estimate_competence(query.reshape(1, -1)) assert np.isclose(competences, expected).all()
def test_estimate_competence(index, expected): query = np.array([1, 1]) mla_test = MLA(create_pool_classifiers()) mla_test.processed_dsel = dsel_processed_ex1 mla_test.dsel_scores = dsel_scores_all_ones mla_test.DSEL_target = y_dsel_ex1 mla_test.n_classes = 2 mla_test.neighbors = neighbors_ex1[index, :] mla_test.distances = distances_all_ones[index, :] mla_test.DFP_mask = [1, 1, 1] competences = mla_test.estimate_competence(query.reshape(1, -1)) assert np.isclose(competences, expected).all()
def test_estimate_competence_diff_target(index): query = np.atleast_2d([1, 1]) mla_test = MLA(create_pool_classifiers()) mla_test.processed_dsel = dsel_processed_ex1 mla_test.DSEL_target = np.ones(15, dtype=int) * 3 mla_test.neighbors = neighbors_ex1[index, :] mla_test.distances = distances_ex1[index, :] mla_test.DFP_mask = [1, 1, 1] expected = [0.0, 0.0, 0.0] predictions = [] for clf in mla_test.pool_classifiers: predictions.append(clf.predict(query)[0]) competences = mla_test.estimate_competence( query, predictions=np.array(predictions)) assert np.isclose(competences, expected).all()
def test_estimate_competence(index, expected): query = np.atleast_2d([1, 1]) mla_test = MLA(create_pool_classifiers()) mla_test.processed_dsel = dsel_processed_ex1 mla_test.dsel_scores = dsel_scores_all_ones mla_test.DSEL_target = y_dsel_ex1 mla_test.n_classes = 2 mla_test.neighbors = neighbors_ex1[index, :] mla_test.distances = distances_all_ones[index, :] mla_test.DFP_mask = [1, 1, 1] predictions = [] for clf in mla_test.pool_classifiers: predictions.append(clf.predict(query)[0]) competences = mla_test.estimate_competence( query, predictions=np.array(predictions)) assert np.isclose(competences, expected).all()
def test_estimate_competence_kuncheva_ex(): query = np.atleast_2d([1, 1]) mla_test = MLA([create_base_classifier(return_value=1)], k=k_ex_kuncheva) mla_test.processed_dsel = dsel_processed_kuncheva mla_test.dsel_scores = dsel_scores_ex_kuncheva mla_test.DSEL_target = y_dsel_ex_kuncheva_dependent mla_test.n_classes = n_classes_ex_kuncheva mla_test.neighbors = neighbors_ex_kuncheva mla_test.distances = distances_ex_kuncheva mla_test.DFP_mask = [1] predictions = [] for clf in mla_test.pool_classifiers: predictions.append(clf.predict(query)[0]) competences = mla_test.estimate_competence( query, predictions=np.array(predictions)) assert np.isclose(competences, 0.95, atol=0.01)
def test_estimate_competence_batch(): query = np.array([[1, 1], [1, 1], [1, 1]]) expected = np.array([[0.750, 0.666, 0.750], [0.800, 1.000, 0.800], [1.000, 0.600, 0.500]]) mla_test = MLA(create_pool_classifiers()) mla_test.processed_dsel = dsel_processed_ex1 mla_test.dsel_scores = dsel_scores_all_ones mla_test.DSEL_target = y_dsel_ex1 mla_test.n_classes = 2 mla_test.neighbors = neighbors_ex1 mla_test.distances = distances_all_ones mla_test.DFP_mask = np.ones((3, 3)) predictions = [] for clf in mla_test.pool_classifiers: predictions.append(clf.predict(query)[0]) competences = mla_test.estimate_competence( query, predictions=np.array(predictions)) assert np.allclose(competences, expected, atol=0.01)