Пример #1
0
    def test_posterior(self):
        """Check the posterior over weights function finds the minimum."""
        clf = RVC()

        x = np.array([[1, 2], [3, 4]])
        y = np.array([[5, 6], [7, 8]])

        clf.phi = clf._apply_kernel(x, y)

        clf.alpha_ = np.ones(3)
        clf.m_ = np.ones(3)
        clf.t = np.array([1, 0])
        clf.beta_ = None

        clf._posterior()

        m_target = np.array([-9.157e-03,  -5.049e-08,   2.794e-05])
        sigma_target = np.array([
            [1, -4.294e-10, -3.052e-03],
            [-4.294e-10, 1, -1.875e-08],
            [-3.052e-03, -1.875e-08, 6.667e-01]
        ])

        np.testing.assert_allclose(clf.m_, m_target, rtol=1e-3)
        np.testing.assert_allclose(clf.sigma_, sigma_target, rtol=1e-3)