Example #1
0
def test_check_input_arrays():

    with raises(ValueError):
        check_input_arrays(np.random.rand(10, 5), np.random.rand(5, 4))

    with raises(ValueError):
        check_input_arrays(np.random.rand(10), np.random.rand(5))
Example #2
0
    def __call__(self, x, y):
        """Actual implementation of kernel func"""

        if not self.skip_input_checks:
            x, y = check_input_arrays(x, y, ensure_dtype=np.number)

        return (self.b + self.gamma * np.dot(x, y))**self.degree
Example #3
0
    def __call__(self, x, y):
        """Actual implementation of kernel func"""

        if not self.skip_input_checks:
            x, y = check_input_arrays(x, y, ensure_dtype=np.number)

        return x.dot(y.T)
Example #4
0
    def __call__(self, x, y):
        """Actual implementation of kernel func"""

        if not self.skip_input_checks:
            x, y = check_input_arrays(x, y, ensure_dtype=np.number)

        return np.exp(-self.gamma * np.sum(np.abs(x - y)))
Example #5
0
    def __call__(self, x, y):
        """Actual implementation of kernel func"""

        if not self.skip_input_checks:
            x, y = check_input_arrays(x, y, ensure_dtype=np.number)

        return np.exp(-self.gamma * np.linalg.norm(x - y, ord=2)**2)
    def __call__(self, x, y):
        """Actual implementation of kernel func"""

        if not self.skip_input_checks:
            x, y = check_input_arrays(x, y, ensure_dtype=np.number)

        abs_x_a = np.power(np.abs(x), self.alpha)
        abs_y_a = np.power(np.abs(y), self.alpha)

        return np.dot((abs_x_a * abs_y_a), 2 * (abs_x_a + abs_y_a))
Example #7
0
    def __call__(self, x, y):
        """Actual implementation of kernel func"""

        if not self.skip_input_checks:
            x, y = check_input_arrays(x, y, ensure_dtype=np.float64)

        if (x < 0).any() or (y < 0).any():
            raise Chi2NegativeValuesException(
                'Chi^2 kernel requires non-negative values!'
                ' x or y contains non-negative values')

        # Note: NaNs due to Zero division are being ignored via np.nansum!
        value = np.exp(-self.gamma * np.nansum(np.power(x - y, 2) / (x + y)))

        return value