From 5d4e727521b48ca93bc9e31f44943eed4c985d49 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Wed, 16 Apr 2014 11:04:16 +0100 Subject: [PATCH] changes according to new definitions --- GPy/models/sparse_gp_classification.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/GPy/models/sparse_gp_classification.py b/GPy/models/sparse_gp_classification.py index 96f7ac5a..be6b36a8 100644 --- a/GPy/models/sparse_gp_classification.py +++ b/GPy/models/sparse_gp_classification.py @@ -7,6 +7,7 @@ from ..core import SparseGP from .. import likelihoods from .. import kern from ..likelihoods import likelihood +from ..inference.latent_function_inference import expectation_propagation_dtc class SparseGPClassification(SparseGP): """ @@ -26,16 +27,14 @@ class SparseGPClassification(SparseGP): """ - def __init__(self, X, Y=None, likelihood=None, kernel=None, normalize_X=False, normalize_Y=False, Z=None, num_inducing=10): - if kernel is None: - kernel = kern.rbf(X.shape[1])# + kern.white(X.shape[1],1e-3) + #def __init__(self, X, Y=None, likelihood=None, kernel=None, normalize_X=False, normalize_Y=False, Z=None, num_inducing=10): + def __init__(self, X, Y=None, likelihood=None, kernel=None, Z=None, num_inducing=10, Y_metadata=None): - if likelihood is None: - noise_model = likelihoods.binomial() - likelihood = likelihoods.EP(Y, noise_model) - elif Y is not None: - if not all(Y.flatten() == likelihood.data.flatten()): - raise Warning, 'likelihood.data and Y are different.' + + if kernel is None: + kernel = kern.RBF(X.shape[1]) + + likelihood = likelihoods.Bernoulli() if Z is None: i = np.random.permutation(X.shape[0])[:num_inducing] @@ -43,8 +42,9 @@ class SparseGPClassification(SparseGP): else: assert Z.shape[1] == X.shape[1] - SparseGP.__init__(self, X, likelihood, kernel, Z=Z, normalize_X=normalize_X) - self.ensure_default_constraints() + SparseGP.__init__(self, X, Y, Z, kernel, likelihood, inference_method=expectation_propagation_dtc.EPDTC(), name='SparseGPClassification',Y_metadata=Y_metadata) + #def __init__(self, X, Y, Z, kernel, likelihood, inference_method=None, name='sparse gp', Y_metadata=None): + def _getstate(self): return SparseGP._getstate(self) @@ -52,5 +52,3 @@ class SparseGPClassification(SparseGP): def _setstate(self, state): return SparseGP._setstate(self, state) - - pass