fixed plots for BGPLVM

This commit is contained in:
andreas 2013-03-11 19:19:36 +00:00
parent 1f5837d200
commit 4525ddd75a
2 changed files with 7 additions and 4 deletions

View file

@ -85,5 +85,5 @@ class Bayesian_GPLVM(sparse_GP, GPLVM):
return np.hstack((self.dL_dmuS().flatten(), sparse_GP._log_likelihood_gradients(self)))
def plot_latent(self, *args, **kwargs):
input_1, input_2 = GPLVM.plot_latent(*args, **kwargs)
pb.plot(m.Z[:, input_1], m.Z[:, input_2], '^w')
input_1, input_2 = GPLVM.plot_latent(self, *args, **kwargs)
pb.plot(self.Z[:, input_1], self.Z[:, input_2], '^w')

View file

@ -81,13 +81,16 @@ class GPLVM(GP):
raise ValueError, "cannot Atomatically determine which dimensions to plot, please pass 'which_indices'"
k = k[0]
if k.name=='rbf':
input_1, input_2 = np.argsort(k.lengthscales)[:2]
input_1, input_2 = np.argsort(k.lengthscale)[:2]
elif k.name=='linear':
input_1, input_2 = np.argsort(k.variances)[::-1][:2]
#first, plot the output variance as a function of the latent space
Xtest, xx,yy,xmin,xmax = util.plot.x_frame2D(self.X[:,[input_1, input_2]],resolution=resolution)
mu, var, low, up = self.predict(Xtest)
Xtest_full = np.zeros((Xtest.shape[0], self.X.shape[1]))
Xtest_full[:, :2] = Xtest
mu, var, low, up = self.predict(Xtest_full)
var = var[:, :2]
pb.imshow(var.reshape(resolution,resolution).T[::-1,:],extent=[xmin[0],xmax[0],xmin[1],xmax[1]],cmap=pb.cm.binary,interpolation='bilinear')