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))
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
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)
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)))
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))
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