Beispiel #1
0
def test_IH_is_used(example_estimate_competence, create_pool_classifiers):
    X, y, neighbors, distances, dsel_processed, _ = example_estimate_competence
    expected = [0, 0, 1]
    query = np.ones((3, 2))
    ds_test = BaseDS(create_pool_classifiers, with_IH=True, IH_rate=0.5)
    ds_test.fit(X, y)

    ds_test.DSEL_processed_ = dsel_processed

    ds_test.get_competence_region = MagicMock(return_value=(distances,
                                                            neighbors))
    predicted = ds_test.predict(query)

    assert np.array_equal(predicted, expected)
Beispiel #2
0
def test_predict_proba_instance_called(index, example_estimate_competence,
                                       create_pool_classifiers):
    X, y, neighbors, distances, _, _ = example_estimate_competence
    query = np.atleast_2d([1, 1])
    ds_test = BaseDS(create_pool_classifiers, with_IH=True, IH_rate=0.10)
    ds_test.fit(X, y)

    neighbors = neighbors[index, :]
    distances = distances[index, :]

    ds_test.get_competence_region = MagicMock(return_value=(distances,
                                                            neighbors))

    ds_test.predict_proba_with_ds = MagicMock(
        return_value=np.atleast_2d([0.25, 0.75]))
    proba = ds_test.predict_proba(query)
    assert np.allclose(proba, np.atleast_2d([0.25, 0.75]))
Beispiel #3
0
def test_predict_proba_IH_knn(index, example_estimate_competence,
                              create_pool_classifiers):
    X, y, neighbors, distances, _, dsel_scores = example_estimate_competence
    query = np.atleast_2d([1, 1])
    ds_test = BaseDS(create_pool_classifiers, with_IH=True, IH_rate=0.5)
    ds_test.fit(X, y)
    ds_test.DSEL_scores = dsel_scores

    neighbors = neighbors[index, :]
    distances = distances[index, :]

    ds_test.get_competence_region = MagicMock(return_value=(distances,
                                                            neighbors))

    ds_test.roc_algorithm_.predict_proba = MagicMock(
        return_value=np.atleast_2d([0.45, 0.55]))
    proba = ds_test.predict_proba(query)
    assert np.array_equal(proba, np.atleast_2d([0.45, 0.55]))