示例#1
0
def test_estimate_competence(index, expected):
    query = np.atleast_2d([1, 1])

    knora_e_test = KNORAE(create_pool_classifiers())
    knora_e_test.fit(X_dsel_ex1, y_dsel_ex1)
    knora_e_test.DFP_mask = np.ones(knora_e_test.n_classifiers)
    knora_e_test.neighbors = neighbors_ex1[index, :]
    knora_e_test.distances = distances_ex1[index, :]
    competences = knora_e_test.estimate_competence(query)
    assert np.isclose(competences, expected, atol=0.01).all()
示例#2
0
def test_estimate_competence_batch():
    query = np.ones((3, 2))
    expected = np.array([[1.0, 0.0, 1.0], [2.0, 0.0, 2.0], [0.0, 3.0, 0.0]])

    knora_e_test = KNORAE(create_pool_classifiers())
    knora_e_test.fit(X_dsel_ex1, y_dsel_ex1)
    knora_e_test.DFP_mask = np.ones(knora_e_test.n_classifiers)
    knora_e_test.neighbors = neighbors_ex1
    knora_e_test.distances = distances_ex1
    competences = knora_e_test.estimate_competence(query)
    assert np.allclose(competences, expected)
示例#3
0
def test_select(index, expected):
    query = np.atleast_2d([1, 1])

    knora_e_test = KNORAE(create_pool_classifiers())
    knora_e_test.fit(X_dsel_ex1, y_dsel_ex1)
    knora_e_test.DFP_mask = np.ones(knora_e_test.n_classifiers)
    knora_e_test.neighbors = neighbors_ex1[index, :]
    knora_e_test.distances = distances_ex1[index, :]
    competences = knora_e_test.estimate_competence(query)
    selected = knora_e_test.select(competences)

    assert selected == expected
示例#4
0
def test_select_none_competent():
    query = np.atleast_2d([1, 1])

    knora_e_test = KNORAE(create_pool_all_agree(2, 100))
    knora_e_test.fit(X_dsel_ex1, y_dsel_ex1)

    knora_e_test.neighbors = neighbors_ex1[0, :]
    knora_e_test.distances = distances_ex1[0, :]
    knora_e_test.DFP_mask = np.ones(knora_e_test.n_classifiers)

    competences = knora_e_test.estimate_competence(query)
    indices = knora_e_test.select(competences)

    assert indices == list(range(knora_e_test.n_classifiers))