def test_kernel_X_Y_one_point_different(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[1]], dtype=numpy.bool8) Y = asarray([[0]], dtype=numpy.bool8) K = k.kernel(X, Y) self.assertEqual(K[0, 0], tanh(gamma))
def test_kernel_X_alone_dimension(self): k = HypercubeKernel(1.) n = 3 d = 2 X = zeros((n, d), dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(K.shape, (n, n))
def test_kernel_X_Y_one_point_different(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[1]], dtype=numpy.bool8) Y = asarray([[0]], dtype=numpy.bool8) K = k.kernel(X, Y) self.assertEqual(K[0, 0], tanh(gamma))
def test_kernel_X_alone_type(self): k = HypercubeKernel(1.) n = 3 d = 2 X = zeros((n, d), dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(type(K), numpy.ndarray)
def test_kernel_X_alone_dimension(self): k = HypercubeKernel(1.) n = 3 d = 2 X = zeros((n, d), dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(K.shape, (n, n))
def test_kernel_X_alone_type(self): k = HypercubeKernel(1.) n = 3 d = 2 X = zeros((n, d), dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(type(K), numpy.ndarray)
def test_kernel_X_Y_dimension(self): k = HypercubeKernel(1.) n_X = 3 n_Y = 4 d = 2 X = zeros((n_X, d), dtype=numpy.bool8) Y = zeros((n_Y, d), dtype=numpy.bool8) K = k.kernel(X, Y) self.assertEqual(K.shape, (n_X, n_Y))
def test_kernel_X_Y_dimension(self): k = HypercubeKernel(1.) n_X = 3 n_Y = 4 d = 2 X = zeros((n_X, d), dtype=numpy.bool8) Y = zeros((n_Y, d), dtype=numpy.bool8) K = k.kernel(X, Y) self.assertEqual(K.shape, (n_X, n_Y))
def test_kernel_X_two_points_fixed(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[1, 0], [1, 1]], dtype=numpy.bool8) K = zeros((2, 2)) for i in range(2): for j in range(2): dist = sum(X[i] != X[j]) K[i, j] = tanh(gamma)**dist self.assertAlmostEqual(norm(K - k.kernel(X)), 0)
def test_kernel_X_two_points_fixed(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[1, 0], [1, 1]], dtype=numpy.bool8) K = zeros((2, 2)) for i in range(2): for j in range(2): dist = sum(X[i] != X[j]) K[i, j] = tanh(gamma) ** dist self.assertAlmostEqual(norm(K - k.kernel(X)), 0)
def test_kernel_X_many_points_random(self): gamma = .2 n_X = 4 d = 5 num_runs = 100 k = HypercubeKernel(gamma) for _ in range(num_runs): X = randint(0, 2, (n_X, d)).astype(numpy.bool8) K = zeros((n_X, n_X)) for i in range(n_X): for j in range(n_X): dist = sum(X[i] != X[j]) K[i, j] = tanh(gamma)**dist self.assertAlmostEqual(norm(K - k.kernel(X)), 0)
def test_kernel_X_many_points_random(self): gamma = .2 n_X = 4 d = 5 num_runs = 100 k = HypercubeKernel(gamma) for _ in range(num_runs): X = randint(0, 2, (n_X, d)).astype(numpy.bool8) K = zeros((n_X, n_X)) for i in range(n_X): for j in range(n_X): dist = sum(X[i] != X[j]) K[i, j] = tanh(gamma) ** dist self.assertAlmostEqual(norm(K - k.kernel(X)), 0)
def test_kernel_X_one_point_zero(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[0]], dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(K[0, 0], 1.)
def test_kernel_X_alone_dtype(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[0]], dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(K.dtype, numpy.float)
def test_kernel_X_one_point_zero(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[0]], dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(K[0, 0], 1.)
def test_kernel_X_alone_dtype(self): gamma = .2 k = HypercubeKernel(gamma) X = asarray([[0]], dtype=numpy.bool8) K = k.kernel(X) self.assertEqual(K.dtype, numpy.float)