diff --git a/GPy/likelihoods/Gaussian.py b/GPy/likelihoods/Gaussian.py index 4a32f066..a5084cc0 100644 --- a/GPy/likelihoods/Gaussian.py +++ b/GPy/likelihoods/Gaussian.py @@ -8,7 +8,7 @@ class Gaussian(likelihood): self.Z = 0. # a correction factor which accounts for the approximation made N, self.D = data.shape - #normalisation + #normaliztion if normalize: self._mean = data.mean(0)[None,:] self._std = data.std(0)[None,:] @@ -45,7 +45,7 @@ class Gaussian(likelihood): def predictive_values(self,mu,var): """ - Un-normalise the prediction and add the likelihood variance, then return the 5%, 95% interval + Un-normalize the prediction and add the likelihood variance, then return the 5%, 95% interval """ mean = mu*self._std + self._mean true_var = (var + self._variance)*self._std**2 diff --git a/GPy/models/GP.py b/GPy/models/GP.py index 5879a2bf..796ab7d6 100644 --- a/GPy/models/GP.py +++ b/GPy/models/GP.py @@ -30,7 +30,6 @@ class GP(model): .. Note:: Multiple independent outputs are allowed using columns of Y """ - #FIXME normalize vs normalise def __init__(self, X, likelihood, kernel, normalize_X=False, Xslices=None): # parse arguments @@ -41,7 +40,7 @@ class GP(model): assert isinstance(kernel, kern.kern) self.kern = kernel - #here's some simple normalisation for the inputs + #here's some simple normalization for the inputs if normalize_X: self._Xmean = X.mean(0)[None,:] self._Xstd = X.std(0)[None,:] @@ -134,7 +133,7 @@ class GP(model): def _raw_predict(self,_Xnew,slices=None, full_cov=False): """ Internal helper function for making predictions, does not account - for normalisation or likelihood + for normalization or likelihood """ Kx = self.kern.K(self.X,_Xnew, slices1=self.Xslices,slices2=slices) mu = np.dot(np.dot(Kx.T,self.Ki),self.likelihood.Y) @@ -172,10 +171,10 @@ class GP(model): - If a list of booleans, specifying which kernel parts are active If full_cov and self.D > 1, the return shape of var is Nnew x Nnew x self.D. If self.D == 1, the return shape is Nnew x Nnew. - This is to allow for different normalisations of the output dimensions. + This is to allow for different normalizations of the output dimensions. """ - #normalise X values + #normalize X values Xnew = (Xnew.copy() - self._Xmean) / self._Xstd mu, var = self._raw_predict(Xnew, slices, full_cov) @@ -187,7 +186,7 @@ class GP(model): def plot_f(self, samples=0, plot_limits=None, which_data='all', which_functions='all', resolution=None, full_cov=False): """ - Plot the GP's view of the world, where the data is normalised and the likelihood is Gaussian + Plot the GP's view of the world, where the data is normalized and the likelihood is Gaussian :param samples: the number of a posteriori samples to plot :param which_data: which if the training data to plot (default all) @@ -203,7 +202,7 @@ class GP(model): - In higher dimensions, we've no implemented this yet !TODO! Can plot only part of the data and part of the posterior functions using which_data and which_functions - Plot the data's view of the world, with non-normalised values and GP predictions passed through the likelihood + Plot the data's view of the world, with non-normalized values and GP predictions passed through the likelihood """ if which_functions=='all': which_functions = [True]*self.kern.Nparts @@ -221,7 +220,7 @@ class GP(model): Ysim = np.random.multivariate_normal(m.flatten(),v,samples) gpplot(Xnew,m,m-2*np.sqrt(np.diag(v)[:,None]),m+2*np.sqrt(np.diag(v))[:,None]) for i in range(samples): - pb.plot(Xnew,Ysim[i,:],Tango.coloursHex['darkBlue'],linewidth=0.25) + pb.plot(Xnew,Ysim[i,:],Tango.colorsHex['darkBlue'],linewidth=0.25) pb.plot(self.X[which_data],self.likelihood.Y[which_data],'kx',mew=1.5) pb.xlim(xmin,xmax) ymin,ymax = min(np.append(self.likelihood.Y,m-2*np.sqrt(np.diag(v)[:,None]))), max(np.append(self.likelihood.Y,m+2*np.sqrt(np.diag(v)[:,None]))) diff --git a/GPy/models/sparse_GP.py b/GPy/models/sparse_GP.py index ff00faea..acf4f6c0 100644 --- a/GPy/models/sparse_GP.py +++ b/GPy/models/sparse_GP.py @@ -54,7 +54,7 @@ class sparse_GP(GP): GP.__init__(self, X, likelihood, kernel=kernel, normalize_X=normalize_X, Xslices=Xslices) - #normalise X uncertainty also + #normalize X uncertainty also if self.has_uncertain_inputs: self.X_uncertainty /= np.square(self._Xstd) @@ -228,7 +228,7 @@ class sparse_GP(GP): return dL_dZ def _raw_predict(self, Xnew, slices, full_cov=False): - """Internal helper function for making predictions, does not account for normalisation""" + """Internal helper function for making predictions, does not account for normalization""" Kx = self.kern.K(self.Z, Xnew) mu = mdot(Kx.T, self.C/self.scale_factor, self.psi1V) diff --git a/GPy/models/uncollapsed_sparse_GP.py b/GPy/models/uncollapsed_sparse_GP.py index 43624e72..d2638784 100644 --- a/GPy/models/uncollapsed_sparse_GP.py +++ b/GPy/models/uncollapsed_sparse_GP.py @@ -93,7 +93,7 @@ class uncollapsed_sparse_GP(sparse_GP): return A+B+C+D+E def _raw_predict(self, Xnew, slices,full_cov=False): - """Internal helper function for making predictions, does not account for normalisation""" + """Internal helper function for making predictions, does not account for normalization""" Kx = self.kern.K(Xnew,self.Z) mu = mdot(Kx,self.Kmmi,self.q_u_expectation[0]) diff --git a/GPy/util/Tango.py b/GPy/util/Tango.py index 8035ffe6..eeb2e075 100644 --- a/GPy/util/Tango.py +++ b/GPy/util/Tango.py @@ -25,7 +25,7 @@ def fewerXticks(ax=None,divideby=2): ax.set_xticks(ax.get_xticks()[::divideby]) -coloursHex = {\ +colorsHex = {\ "Aluminium6":"#2e3436",\ "Aluminium5":"#555753",\ "Aluminium4":"#888a85",\ @@ -54,9 +54,9 @@ coloursHex = {\ "mediumButter":"#edd400",\ "darkButter":"#c4a000"} -darkList = [coloursHex['darkBlue'],coloursHex['darkRed'],coloursHex['darkGreen'], coloursHex['darkOrange'], coloursHex['darkButter'], coloursHex['darkPurple'], coloursHex['darkChocolate'], coloursHex['Aluminium6']] -mediumList = [coloursHex['mediumBlue'], coloursHex['mediumRed'],coloursHex['mediumGreen'], coloursHex['mediumOrange'], coloursHex['mediumButter'], coloursHex['mediumPurple'], coloursHex['mediumChocolate'], coloursHex['Aluminium5']] -lightList = [coloursHex['lightBlue'], coloursHex['lightRed'],coloursHex['lightGreen'], coloursHex['lightOrange'], coloursHex['lightButter'], coloursHex['lightPurple'], coloursHex['lightChocolate'], coloursHex['Aluminium4']] +darkList = [colorsHex['darkBlue'],colorsHex['darkRed'],colorsHex['darkGreen'], colorsHex['darkOrange'], colorsHex['darkButter'], colorsHex['darkPurple'], colorsHex['darkChocolate'], colorsHex['Aluminium6']] +mediumList = [colorsHex['mediumBlue'], colorsHex['mediumRed'],colorsHex['mediumGreen'], colorsHex['mediumOrange'], colorsHex['mediumButter'], colorsHex['mediumPurple'], colorsHex['mediumChocolate'], colorsHex['Aluminium5']] +lightList = [colorsHex['lightBlue'], colorsHex['lightRed'],colorsHex['lightGreen'], colorsHex['lightOrange'], colorsHex['lightButter'], colorsHex['lightPurple'], colorsHex['lightChocolate'], colorsHex['Aluminium4']] def currentDark(): return darkList[-1] @@ -76,85 +76,85 @@ def nextLight(): return lightList[-1] def reset(): - while not darkList[0]==coloursHex['darkBlue']: + while not darkList[0]==colorsHex['darkBlue']: darkList.append(darkList.pop(0)) - while not mediumList[0]==coloursHex['mediumBlue']: + while not mediumList[0]==colorsHex['mediumBlue']: mediumList.append(mediumList.pop(0)) - while not lightList[0]==coloursHex['lightBlue']: + while not lightList[0]==colorsHex['lightBlue']: lightList.append(lightList.pop(0)) def setLightFigures(): - mpl.rcParams['axes.edgecolor']=coloursHex['Aluminium6'] - mpl.rcParams['axes.facecolor']=coloursHex['Aluminium2'] - mpl.rcParams['axes.labelcolor']=coloursHex['Aluminium6'] - mpl.rcParams['figure.edgecolor']=coloursHex['Aluminium6'] - mpl.rcParams['figure.facecolor']=coloursHex['Aluminium2'] - mpl.rcParams['grid.color']=coloursHex['Aluminium6'] - mpl.rcParams['savefig.edgecolor']=coloursHex['Aluminium2'] - mpl.rcParams['savefig.facecolor']=coloursHex['Aluminium2'] - mpl.rcParams['text.color']=coloursHex['Aluminium6'] - mpl.rcParams['xtick.color']=coloursHex['Aluminium6'] - mpl.rcParams['ytick.color']=coloursHex['Aluminium6'] + mpl.rcParams['axes.edgecolor']=colorsHex['Aluminium6'] + mpl.rcParams['axes.facecolor']=colorsHex['Aluminium2'] + mpl.rcParams['axes.labelcolor']=colorsHex['Aluminium6'] + mpl.rcParams['figure.edgecolor']=colorsHex['Aluminium6'] + mpl.rcParams['figure.facecolor']=colorsHex['Aluminium2'] + mpl.rcParams['grid.color']=colorsHex['Aluminium6'] + mpl.rcParams['savefig.edgecolor']=colorsHex['Aluminium2'] + mpl.rcParams['savefig.facecolor']=colorsHex['Aluminium2'] + mpl.rcParams['text.color']=colorsHex['Aluminium6'] + mpl.rcParams['xtick.color']=colorsHex['Aluminium6'] + mpl.rcParams['ytick.color']=colorsHex['Aluminium6'] def setDarkFigures(): - mpl.rcParams['axes.edgecolor']=coloursHex['Aluminium2'] - mpl.rcParams['axes.facecolor']=coloursHex['Aluminium6'] - mpl.rcParams['axes.labelcolor']=coloursHex['Aluminium2'] - mpl.rcParams['figure.edgecolor']=coloursHex['Aluminium2'] - mpl.rcParams['figure.facecolor']=coloursHex['Aluminium6'] - mpl.rcParams['grid.color']=coloursHex['Aluminium2'] - mpl.rcParams['savefig.edgecolor']=coloursHex['Aluminium6'] - mpl.rcParams['savefig.facecolor']=coloursHex['Aluminium6'] - mpl.rcParams['text.color']=coloursHex['Aluminium2'] - mpl.rcParams['xtick.color']=coloursHex['Aluminium2'] - mpl.rcParams['ytick.color']=coloursHex['Aluminium2'] + mpl.rcParams['axes.edgecolor']=colorsHex['Aluminium2'] + mpl.rcParams['axes.facecolor']=colorsHex['Aluminium6'] + mpl.rcParams['axes.labelcolor']=colorsHex['Aluminium2'] + mpl.rcParams['figure.edgecolor']=colorsHex['Aluminium2'] + mpl.rcParams['figure.facecolor']=colorsHex['Aluminium6'] + mpl.rcParams['grid.color']=colorsHex['Aluminium2'] + mpl.rcParams['savefig.edgecolor']=colorsHex['Aluminium6'] + mpl.rcParams['savefig.facecolor']=colorsHex['Aluminium6'] + mpl.rcParams['text.color']=colorsHex['Aluminium2'] + mpl.rcParams['xtick.color']=colorsHex['Aluminium2'] + mpl.rcParams['ytick.color']=colorsHex['Aluminium2'] def hex2rgb(hexcolor): hexcolor = [hexcolor[1+2*i:1+2*(i+1)] for i in range(3)] r,g,b = [int(n,16) for n in hexcolor] return (r,g,b) -coloursRGB = dict([(k,hex2rgb(i)) for k,i in coloursHex.items()]) +colorsRGB = dict([(k,hex2rgb(i)) for k,i in colorsHex.items()]) -cdict_RB = {'red' :((0.,coloursRGB['mediumRed'][0]/256.,coloursRGB['mediumRed'][0]/256.), - (.5,coloursRGB['mediumPurple'][0]/256.,coloursRGB['mediumPurple'][0]/256.), - (1.,coloursRGB['mediumBlue'][0]/256.,coloursRGB['mediumBlue'][0]/256.)), - 'green':((0.,coloursRGB['mediumRed'][1]/256.,coloursRGB['mediumRed'][1]/256.), - (.5,coloursRGB['mediumPurple'][1]/256.,coloursRGB['mediumPurple'][1]/256.), - (1.,coloursRGB['mediumBlue'][1]/256.,coloursRGB['mediumBlue'][1]/256.)), - 'blue':((0.,coloursRGB['mediumRed'][2]/256.,coloursRGB['mediumRed'][2]/256.), - (.5,coloursRGB['mediumPurple'][2]/256.,coloursRGB['mediumPurple'][2]/256.), - (1.,coloursRGB['mediumBlue'][2]/256.,coloursRGB['mediumBlue'][2]/256.))} +cdict_RB = {'red' :((0.,colorsRGB['mediumRed'][0]/256.,colorsRGB['mediumRed'][0]/256.), + (.5,colorsRGB['mediumPurple'][0]/256.,colorsRGB['mediumPurple'][0]/256.), + (1.,colorsRGB['mediumBlue'][0]/256.,colorsRGB['mediumBlue'][0]/256.)), + 'green':((0.,colorsRGB['mediumRed'][1]/256.,colorsRGB['mediumRed'][1]/256.), + (.5,colorsRGB['mediumPurple'][1]/256.,colorsRGB['mediumPurple'][1]/256.), + (1.,colorsRGB['mediumBlue'][1]/256.,colorsRGB['mediumBlue'][1]/256.)), + 'blue':((0.,colorsRGB['mediumRed'][2]/256.,colorsRGB['mediumRed'][2]/256.), + (.5,colorsRGB['mediumPurple'][2]/256.,colorsRGB['mediumPurple'][2]/256.), + (1.,colorsRGB['mediumBlue'][2]/256.,colorsRGB['mediumBlue'][2]/256.))} -cdict_BGR = {'red' :((0.,coloursRGB['mediumBlue'][0]/256.,coloursRGB['mediumBlue'][0]/256.), - (.5,coloursRGB['mediumGreen'][0]/256.,coloursRGB['mediumGreen'][0]/256.), - (1.,coloursRGB['mediumRed'][0]/256.,coloursRGB['mediumRed'][0]/256.)), - 'green':((0.,coloursRGB['mediumBlue'][1]/256.,coloursRGB['mediumBlue'][1]/256.), - (.5,coloursRGB['mediumGreen'][1]/256.,coloursRGB['mediumGreen'][1]/256.), - (1.,coloursRGB['mediumRed'][1]/256.,coloursRGB['mediumRed'][1]/256.)), - 'blue':((0.,coloursRGB['mediumBlue'][2]/256.,coloursRGB['mediumBlue'][2]/256.), - (.5,coloursRGB['mediumGreen'][2]/256.,coloursRGB['mediumGreen'][2]/256.), - (1.,coloursRGB['mediumRed'][2]/256.,coloursRGB['mediumRed'][2]/256.))} +cdict_BGR = {'red' :((0.,colorsRGB['mediumBlue'][0]/256.,colorsRGB['mediumBlue'][0]/256.), + (.5,colorsRGB['mediumGreen'][0]/256.,colorsRGB['mediumGreen'][0]/256.), + (1.,colorsRGB['mediumRed'][0]/256.,colorsRGB['mediumRed'][0]/256.)), + 'green':((0.,colorsRGB['mediumBlue'][1]/256.,colorsRGB['mediumBlue'][1]/256.), + (.5,colorsRGB['mediumGreen'][1]/256.,colorsRGB['mediumGreen'][1]/256.), + (1.,colorsRGB['mediumRed'][1]/256.,colorsRGB['mediumRed'][1]/256.)), + 'blue':((0.,colorsRGB['mediumBlue'][2]/256.,colorsRGB['mediumBlue'][2]/256.), + (.5,colorsRGB['mediumGreen'][2]/256.,colorsRGB['mediumGreen'][2]/256.), + (1.,colorsRGB['mediumRed'][2]/256.,colorsRGB['mediumRed'][2]/256.))} -cdict_Alu = {'red' :((0./5,coloursRGB['Aluminium1'][0]/256.,coloursRGB['Aluminium1'][0]/256.), - (1./5,coloursRGB['Aluminium2'][0]/256.,coloursRGB['Aluminium2'][0]/256.), - (2./5,coloursRGB['Aluminium3'][0]/256.,coloursRGB['Aluminium3'][0]/256.), - (3./5,coloursRGB['Aluminium4'][0]/256.,coloursRGB['Aluminium4'][0]/256.), - (4./5,coloursRGB['Aluminium5'][0]/256.,coloursRGB['Aluminium5'][0]/256.), - (5./5,coloursRGB['Aluminium6'][0]/256.,coloursRGB['Aluminium6'][0]/256.)), - 'green' :((0./5,coloursRGB['Aluminium1'][1]/256.,coloursRGB['Aluminium1'][1]/256.), - (1./5,coloursRGB['Aluminium2'][1]/256.,coloursRGB['Aluminium2'][1]/256.), - (2./5,coloursRGB['Aluminium3'][1]/256.,coloursRGB['Aluminium3'][1]/256.), - (3./5,coloursRGB['Aluminium4'][1]/256.,coloursRGB['Aluminium4'][1]/256.), - (4./5,coloursRGB['Aluminium5'][1]/256.,coloursRGB['Aluminium5'][1]/256.), - (5./5,coloursRGB['Aluminium6'][1]/256.,coloursRGB['Aluminium6'][1]/256.)), - 'blue' :((0./5,coloursRGB['Aluminium1'][2]/256.,coloursRGB['Aluminium1'][2]/256.), - (1./5,coloursRGB['Aluminium2'][2]/256.,coloursRGB['Aluminium2'][2]/256.), - (2./5,coloursRGB['Aluminium3'][2]/256.,coloursRGB['Aluminium3'][2]/256.), - (3./5,coloursRGB['Aluminium4'][2]/256.,coloursRGB['Aluminium4'][2]/256.), - (4./5,coloursRGB['Aluminium5'][2]/256.,coloursRGB['Aluminium5'][2]/256.), - (5./5,coloursRGB['Aluminium6'][2]/256.,coloursRGB['Aluminium6'][2]/256.))} +cdict_Alu = {'red' :((0./5,colorsRGB['Aluminium1'][0]/256.,colorsRGB['Aluminium1'][0]/256.), + (1./5,colorsRGB['Aluminium2'][0]/256.,colorsRGB['Aluminium2'][0]/256.), + (2./5,colorsRGB['Aluminium3'][0]/256.,colorsRGB['Aluminium3'][0]/256.), + (3./5,colorsRGB['Aluminium4'][0]/256.,colorsRGB['Aluminium4'][0]/256.), + (4./5,colorsRGB['Aluminium5'][0]/256.,colorsRGB['Aluminium5'][0]/256.), + (5./5,colorsRGB['Aluminium6'][0]/256.,colorsRGB['Aluminium6'][0]/256.)), + 'green' :((0./5,colorsRGB['Aluminium1'][1]/256.,colorsRGB['Aluminium1'][1]/256.), + (1./5,colorsRGB['Aluminium2'][1]/256.,colorsRGB['Aluminium2'][1]/256.), + (2./5,colorsRGB['Aluminium3'][1]/256.,colorsRGB['Aluminium3'][1]/256.), + (3./5,colorsRGB['Aluminium4'][1]/256.,colorsRGB['Aluminium4'][1]/256.), + (4./5,colorsRGB['Aluminium5'][1]/256.,colorsRGB['Aluminium5'][1]/256.), + (5./5,colorsRGB['Aluminium6'][1]/256.,colorsRGB['Aluminium6'][1]/256.)), + 'blue' :((0./5,colorsRGB['Aluminium1'][2]/256.,colorsRGB['Aluminium1'][2]/256.), + (1./5,colorsRGB['Aluminium2'][2]/256.,colorsRGB['Aluminium2'][2]/256.), + (2./5,colorsRGB['Aluminium3'][2]/256.,colorsRGB['Aluminium3'][2]/256.), + (3./5,colorsRGB['Aluminium4'][2]/256.,colorsRGB['Aluminium4'][2]/256.), + (4./5,colorsRGB['Aluminium5'][2]/256.,colorsRGB['Aluminium5'][2]/256.), + (5./5,colorsRGB['Aluminium6'][2]/256.,colorsRGB['Aluminium6'][2]/256.))} # cmap_Alu = mpl.colors.LinearSegmentedColormap('TangoAluminium',cdict_Alu,256) # cmap_BGR = mpl.colors.LinearSegmentedColormap('TangoRedBlue',cdict_BGR,256) # cmap_RB = mpl.colors.LinearSegmentedColormap('TangoRedBlue',cdict_RB,256) diff --git a/GPy/util/datasets.py b/GPy/util/datasets.py index 5506fbef..a8ec2539 100644 --- a/GPy/util/datasets.py +++ b/GPy/util/datasets.py @@ -46,7 +46,7 @@ def oil_100(seed=default_seed): return {'X': X, 'Y': Y, 'info': "Subsample of the oil data extracting 100 values randomly without replacement."} def pumadyn(seed=default_seed): - # Data is variance 1, no need to normalise. + # Data is variance 1, no need to normalize. data = np.loadtxt(os.path.join(data_path, 'pumadyn-32nm/Dataset.data.gz')) indices = np.random.permutation(data.shape[0]) indicesTrain = indices[0:7168] diff --git a/GPy/util/plot.py b/GPy/util/plot.py index 8e71764d..295047b1 100644 --- a/GPy/util/plot.py +++ b/GPy/util/plot.py @@ -6,7 +6,7 @@ import Tango import pylab as pb import numpy as np -def gpplot(x,mu,lower,upper,edgecol=Tango.coloursHex['darkBlue'],fillcol=Tango.coloursHex['lightBlue'],axes=None,**kwargs): +def gpplot(x,mu,lower,upper,edgecol=Tango.colorsHex['darkBlue'],fillcol=Tango.colorsHex['lightBlue'],axes=None,**kwargs): if axes is None: axes = pb.gca() mu = mu.flatten()