mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-27 14:25:16 +02:00
merged last devel
This commit is contained in:
commit
45f692340a
170 changed files with 39094 additions and 4107 deletions
|
|
@ -235,8 +235,6 @@ def plot_density(self, plot_limits=None, fixed_inputs=None,
|
|||
|
||||
Give the Y_metadata in the predict_kw if you need it.
|
||||
|
||||
|
||||
|
||||
:param plot_limits: The limits of the plot. If 1D [xmin,xmax], if 2D [[xmin,ymin],[xmax,ymax]]. Defaluts to data limits
|
||||
:type plot_limits: np.array
|
||||
:param fixed_inputs: a list of tuple [(i,v), (i,v)...], specifying that input dimension i should be set to value v.
|
||||
|
|
@ -420,4 +418,4 @@ def _plot(self, canvas, plots, helper_data, helper_prediction, levels, plot_indu
|
|||
|
||||
if helper_prediction[2] is not None:
|
||||
plots.update(_plot_samples(self, canvas, helper_data, helper_prediction, projection, "Samples"))
|
||||
return plots
|
||||
return plots
|
||||
|
|
|
|||
|
|
@ -140,4 +140,4 @@ def plot_covariance(kernel, x=None, label=None,
|
|||
return pl().add_to_canvas(canvas, plots)
|
||||
|
||||
else:
|
||||
raise NotImplementedError("Cannot plot a kernel with more than two input dimensions")
|
||||
raise NotImplementedError("Cannot plot a kernel with more than two input dimensions")
|
||||
|
|
|
|||
|
|
@ -131,7 +131,9 @@ def plot_latent_inducing(self,
|
|||
|
||||
Z = self.Z.values
|
||||
labels = np.array(['inducing'] * Z.shape[0])
|
||||
scatters = _plot_latent_scatter(canvas, Z, sig_dims, labels, marker, num_samples, projection=projection, **kwargs)
|
||||
kwargs['marker'] = marker
|
||||
update_not_existing_kwargs(kwargs, pl().defaults.inducing_2d) # @UndefinedVariable
|
||||
scatters = _plot_latent_scatter(canvas, Z, sig_dims, labels, num_samples=num_samples, projection=projection, **kwargs)
|
||||
return pl().add_to_canvas(canvas, dict(scatter=scatters), legend=legend)
|
||||
|
||||
|
||||
|
|
@ -147,6 +149,7 @@ def _plot_magnification(self, canvas, which_indices, Xgrid,
|
|||
def plot_function(x):
|
||||
Xtest_full = np.zeros((x.shape[0], Xgrid.shape[1]))
|
||||
Xtest_full[:, which_indices] = x
|
||||
|
||||
mf = self.predict_magnification(Xtest_full, kern=kern, mean=mean, covariance=covariance)
|
||||
return mf.reshape(resolution, resolution).T
|
||||
imshow_kwargs = update_not_existing_kwargs(imshow_kwargs, pl().defaults.magnification)
|
||||
|
|
@ -215,7 +218,12 @@ def _plot_latent(self, canvas, which_indices, Xgrid,
|
|||
def plot_function(x):
|
||||
Xtest_full = np.zeros((x.shape[0], Xgrid.shape[1]))
|
||||
Xtest_full[:, which_indices] = x
|
||||
mf = np.log(self.predict(Xtest_full, kern=kern)[1])
|
||||
mf = self.predict(Xtest_full, kern=kern)[1]
|
||||
if mf.shape[1]==self.output_dim:
|
||||
mf = mf.sum(-1)
|
||||
else:
|
||||
mf *= self.output_dim
|
||||
mf = np.log(mf)
|
||||
return mf.reshape(resolution, resolution).T
|
||||
|
||||
imshow_kwargs = update_not_existing_kwargs(imshow_kwargs, pl().defaults.latent)
|
||||
|
|
|
|||
|
|
@ -194,6 +194,7 @@ def scatter_label_generator(labels, X, visible_dims, marker=None):
|
|||
x = X[index, input_1]
|
||||
y = X[index, input_2]
|
||||
z = X[index, input_3]
|
||||
|
||||
yield x, y, z, this_label, index, m
|
||||
|
||||
def subsample_X(X, labels, num_samples=1000):
|
||||
|
|
@ -385,5 +386,5 @@ def x_frame2D(X,plot_limits=None,resolution=None):
|
|||
|
||||
resolution = resolution or 50
|
||||
xx, yy = np.mgrid[xmin[0]:xmax[0]:1j*resolution,xmin[1]:xmax[1]:1j*resolution]
|
||||
Xnew = np.vstack((xx.flatten(),yy.flatten())).T
|
||||
Xnew = np.c_[xx.flat, yy.flat]
|
||||
return Xnew, xx, yy, xmin, xmax
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue