def __init__(self, X, Y, kernel=None, warping_function=None, warping_terms=3): if kernel is None: kernel = kern.RBF(X.shape[1]) if warping_function == None: self.warping_function = TanhWarpingFunction_d(warping_terms) self.warping_params = ( np.random.randn(self.warping_function.n_terms * 3 + 1, ) * 1) else: self.warping_function = warping_function self.scale_data = False if self.scale_data: Y = self._scale_data(Y) self.has_uncertain_inputs = False self.Y_untransformed = Y.copy() self.predict_in_warped_space = False likelihood = likelihoods.Gaussian() GP.__init__(self, X, self.transform_data(), likelihood=likelihood, kernel=kernel) self.link_parameter(self.warping_function)
def __init__(self, X, Y, kernel=None, warping_function=None, warping_terms=3, normalize_X=False, normalize_Y=False): if kernel is None: kernel = kern.rbf(X.shape[1]) if warping_function == None: self.warping_function = TanhWarpingFunction_d(warping_terms) self.warping_params = ( np.random.randn(self.warping_function.n_terms * 3 + 1, ) * 1) self.scale_data = False if self.scale_data: Y = self._scale_data(Y) self.has_uncertain_inputs = False self.Y_untransformed = Y.copy() self.predict_in_warped_space = False likelihood = likelihoods.Gaussian(self.transform_data(), normalize=normalize_Y) GP.__init__(self, X, likelihood, kernel, normalize_X=normalize_X) self._set_params(self._get_params())