Example #1
0
def test_double_fault():
    labels = np.array([0, 0, 0, 0, 1, 1, 1])
    pred1 = np.array([1, 0, 1, 0, 0, 0, 0])
    pred2 = np.array([1, 0, 0, 0, 1, 0, 0])

    actual = double_fault(labels, pred1, pred2)

    assert actual == 3. / 7  # three common errors out of 7 predictions
Example #2
0
def diversity_matrix(pool_classifiers, X, y, pruned_indices):
    if pruned_indices is not None:
        preds = np.array([
            pool_classifiers.estimators_[id].predict(X)
            for id in pruned_indices
        ])
    else:
        preds = np.array([
            estimator.predict(X) for estimator in pool_classifiers.estimators_
        ])

    n = len(preds)
    div = np.zeros((n, n))
    for i in range(n):
        div[i][i] = double_fault(y, preds[i], preds[i])

    for i in range(n):
        for j in range(i + 1, n):
            div[i][j] = div[j][i] = double_fault(y, preds[i], preds[j])
    return div
Example #3
0
def test_double_fault_ones():
    df = double_fault(y_dsel_ex1, y_pred_ones, y_pred_ones)
    assert df == 9.0 / 15.0
Example #4
0
def test_double_fault_zeros():
    df = double_fault(y_dsel_ex1, y_pred_zeros, y_pred_zeros)
    assert df == 6.0 / 15.0
Example #5
0
def test_double_fault_order():
    df1 = double_fault(y_dsel_ex1, y_pred_ones, y_pred_zeros)
    df2 = double_fault(y_dsel_ex1, y_pred_zeros, y_pred_ones)
    assert df1 == df2
Example #6
0
def test_double_fault_ones_zeros():
    df = double_fault(y_dsel_ex1, y_pred_ones, y_pred_zeros)
    assert df == 0.0
Example #7
0
def test_double_fault_ones(example_diversity_ones_zeros):
    y, y_pred_ones, y_pred_zeros = example_diversity_ones_zeros
    df = double_fault(y, y_pred_ones, y_pred_ones)
    assert df == 9.0 / 15.0
Example #8
0
def test_double_fault_order(example_diversity_ones_zeros):
    y, y_pred_ones, y_pred_zeros = example_diversity_ones_zeros
    df1 = double_fault(y, y_pred_ones, y_pred_zeros)
    df2 = double_fault(y, y_pred_zeros, y_pred_ones)
    assert df1 == df2