[static] added fixed tests

This commit is contained in:
Max Zwiessele 2016-04-21 12:31:00 +01:00
parent 0c180b3cd5
commit 87af7e2525
3 changed files with 14 additions and 11 deletions

View file

@ -195,15 +195,15 @@ class Fixed(Static):
class Precomputed(Fixed): class Precomputed(Fixed):
def __init__(self, input_dim, covariance_matrix, variance=1., active_dims=None, name='precomputed'): def __init__(self, input_dim, covariance_matrix, variance=1., active_dims=None, name='precomputed'):
""" """
Class for precomputed kernels, indexed by X Class for precomputed kernels, indexed by columns in X
Usage example: Usage example:
import numpy as np import numpy as np
from GPy.models import GPClassification from GPy.models import GPClassification
from GPy.kern import Precomputed from GPy.kern import Precomputed
from sklearn.cross_validation import LeaveOneOut from sklearn.cross_validation import LeaveOneOut
n = 10 n = 10
d = 100 d = 100
X = np.arange(n).reshape((n,1)) # column vector of indices X = np.arange(n).reshape((n,1)) # column vector of indices
@ -211,14 +211,14 @@ class Precomputed(Fixed):
X0 = np.random.randn(n,d) X0 = np.random.randn(n,d)
k = np.dot(X0,X0.T) k = np.dot(X0,X0.T)
kern = Precomputed(1,k) # k is a n x n covariance matrix kern = Precomputed(1,k) # k is a n x n covariance matrix
cv = LeaveOneOut(n) cv = LeaveOneOut(n)
ypred = y.copy() ypred = y.copy()
for train, test in cv: for train, test in cv:
m = GPClassification(X[train], y[train], kernel=kern) m = GPClassification(X[train], y[train], kernel=kern)
m.optimize() m.optimize()
ypred[test] = 2*(m.predict(X[test])[0]>0.5)-1 ypred[test] = 2*(m.predict(X[test])[0]>0.5)-1
:param input_dim: the number of input dimensions :param input_dim: the number of input dimensions
:type input_dim: int :type input_dim: int
:param variance: the variance of the kernel :param variance: the variance of the kernel

View file

@ -2,11 +2,14 @@
# Licensed under the BSD 3-clause license (see LICENSE.txt) # Licensed under the BSD 3-clause license (see LICENSE.txt)
import unittest import unittest
import numpy as np from unittest.case import skip
import GPy import GPy
from GPy.core.parameterization.param import Param from GPy.core.parameterization.param import Param
import numpy as np
from ..util.config import config from ..util.config import config
from unittest.case import skip
verbose = 0 verbose = 0
@ -347,7 +350,7 @@ class KernelGradientTestsContinuous(unittest.TestCase):
k = GPy.kern.StdPeriodic(self.D) k = GPy.kern.StdPeriodic(self.D)
k.randomize() k.randomize()
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose)) self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
def test_Precomputed(self): def test_Precomputed(self):
Xall = np.concatenate([self.X, self.X2]) Xall = np.concatenate([self.X, self.X2])
cov = np.dot(Xall, Xall.T) cov = np.dot(Xall, Xall.T)

View file

@ -41,10 +41,10 @@ Python 2.7, 3.4 and higher
## Citation ## Citation
@Misc{gpy2014, @Misc{gpy2014,
author = {{The GPy authors}}, author = {{GPy}},
title = {{GPy}: A Gaussian process framework in python}, title = {{GPy}: A Gaussian process framework in python},
howpublished = {\url{http://github.com/SheffieldML/GPy}}, howpublished = {\url{http://github.com/SheffieldML/GPy}},
year = {2012--2015} year = {since 2012}
} }
### Pronounciation: ### Pronounciation: