mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-21 14:05:14 +02:00
new: added ploy basis kernel tests and import
This commit is contained in:
parent
460757c048
commit
7977a69dca
3 changed files with 11 additions and 4 deletions
|
|
@ -32,7 +32,7 @@ from .src.trunclinear import TruncLinear,TruncLinear_inf
|
|||
from .src.splitKern import SplitKern,DEtime
|
||||
from .src.splitKern import DEtime as DiffGenomeKern
|
||||
from .src.spline import Spline
|
||||
from .src.basis_funcs import LogisticBasisFuncKernel, LinearSlopeBasisFuncKernel, BasisFuncKernel, ChangePointBasisFuncKernel, DomainKernel
|
||||
from .src.basis_funcs import LogisticBasisFuncKernel, LinearSlopeBasisFuncKernel, BasisFuncKernel, ChangePointBasisFuncKernel, DomainKernel, PolynomialBasisFuncKernel
|
||||
from .src.grid_kerns import GridRBF
|
||||
|
||||
from .src.sde_matern import sde_Matern32
|
||||
|
|
|
|||
|
|
@ -102,8 +102,8 @@ class BasisFuncKernel(Kern):
|
|||
phi2 = phi2[:, None]
|
||||
return phi1.dot(phi2.T)
|
||||
|
||||
class PolinomialBasisFuncKernel(BasisFuncKernel):
|
||||
def __init__(self, input_dim, degree, variance=1., active_dims=None, ARD=True, name='polinomial_basis'):
|
||||
class PolynomialBasisFuncKernel(BasisFuncKernel):
|
||||
def __init__(self, input_dim, degree, variance=1., active_dims=None, ARD=True, name='polynomial_basis'):
|
||||
"""
|
||||
A linear segment transformation. The segments start at start, \
|
||||
are then linear to stop and constant again. The segments are
|
||||
|
|
@ -114,7 +114,7 @@ class PolinomialBasisFuncKernel(BasisFuncKernel):
|
|||
Behaviour of start stop is as np.where(X<start) would do.
|
||||
"""
|
||||
self.degree = degree
|
||||
super(PolinomialBasisFuncKernel, self).__init__(input_dim, variance, active_dims, ARD, name)
|
||||
super(PolynomialBasisFuncKernel, self).__init__(input_dim, variance, active_dims, ARD, name)
|
||||
|
||||
@Cache_this(limit=3, ignore_args=())
|
||||
def _phi(self, X):
|
||||
|
|
|
|||
|
|
@ -495,6 +495,13 @@ class KernelGradientTestsContinuous(unittest.TestCase):
|
|||
k = GPy.kern.Add(ks)
|
||||
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
|
||||
|
||||
def test_basis_func_poly(self):
|
||||
ks = []
|
||||
for i in range(self.X.shape[1]):
|
||||
ks.append(GPy.kern.PolynomialBasisFuncKernel(1, 5, ARD=i%2==0, active_dims=[i]))
|
||||
k = GPy.kern.Add(ks)
|
||||
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
|
||||
|
||||
def test_basis_func_domain(self):
|
||||
start_stop = np.random.uniform(self.X.min(0), self.X.max(0), (4, self.X.shape[1])).T
|
||||
start_stop.sort(axis=1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue