Пример #1
0
def test_calc_scatter_matrices():
    X = np.asarray([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9], [10, 11], [12, 13],
                    [14, 15]])

    Y = [0, 0, 0, 0, 1, 1, 1, 1]

    S_w_expected = np.asarray([[5, 5], [5, 5]])
    S_b_expected = np.asarray([[16, 16], [16, 16]])

    S_b, S_w = calc_scatter_matrices(X, Y)

    assert_allclose(S_w, S_w_expected, rtol=1e-20)
    assert_allclose(S_b, S_b_expected, rtol=1e-20)
Пример #2
0
    def calc_error(truth_dict):
        data = truth_dict['data']
        labels = truth_dict['labels']

        S_b, S_w = calc_scatter_matrices(data, labels)
        n = truth_dict['n_k']

        expected = truth_dict['Phi_b']
        predicted = S_b - S_w / (n - 1)

        error = calc_mean_squared_error(expected, predicted, as_log=True)

        return error