96 lines
2.5 KiB
Python
96 lines
2.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# Author: Vincent Dubourg <vincent.dubourg@gmail.com>
|
|
# (mostly translation, see implementation details)
|
|
# License: BSD 3 clause
|
|
|
|
"""
|
|
The built-in regression models submodule for the gaussian_process module.
|
|
"""
|
|
|
|
|
|
import numpy as np
|
|
from ..utils import deprecated
|
|
|
|
|
|
@deprecated("The function constant of regression_models is "
|
|
"deprecated in version 0.19.1 and will be removed in 0.22.")
|
|
def constant(x):
|
|
"""
|
|
Zero order polynomial (constant, p = 1) regression model.
|
|
|
|
x --> f(x) = 1
|
|
|
|
Parameters
|
|
----------
|
|
x : array_like
|
|
An array with shape (n_eval, n_features) giving the locations x at
|
|
which the regression model should be evaluated.
|
|
|
|
Returns
|
|
-------
|
|
f : array_like
|
|
An array with shape (n_eval, p) with the values of the regression
|
|
model.
|
|
"""
|
|
x = np.asarray(x, dtype=np.float64)
|
|
n_eval = x.shape[0]
|
|
f = np.ones([n_eval, 1])
|
|
return f
|
|
|
|
|
|
@deprecated("The function linear of regression_models is "
|
|
"deprecated in version 0.19.1 and will be removed in 0.22.")
|
|
def linear(x):
|
|
"""
|
|
First order polynomial (linear, p = n+1) regression model.
|
|
|
|
x --> f(x) = [ 1, x_1, ..., x_n ].T
|
|
|
|
Parameters
|
|
----------
|
|
x : array_like
|
|
An array with shape (n_eval, n_features) giving the locations x at
|
|
which the regression model should be evaluated.
|
|
|
|
Returns
|
|
-------
|
|
f : array_like
|
|
An array with shape (n_eval, p) with the values of the regression
|
|
model.
|
|
"""
|
|
x = np.asarray(x, dtype=np.float64)
|
|
n_eval = x.shape[0]
|
|
f = np.hstack([np.ones([n_eval, 1]), x])
|
|
return f
|
|
|
|
|
|
@deprecated("The function quadratic of regression_models is "
|
|
"deprecated in version 0.19.1 and will be removed in 0.22.")
|
|
def quadratic(x):
|
|
"""
|
|
Second order polynomial (quadratic, p = n*(n-1)/2+n+1) regression model.
|
|
|
|
x --> f(x) = [ 1, { x_i, i = 1,...,n }, { x_i * x_j, (i,j) = 1,...,n } ].T
|
|
i > j
|
|
|
|
Parameters
|
|
----------
|
|
x : array_like
|
|
An array with shape (n_eval, n_features) giving the locations x at
|
|
which the regression model should be evaluated.
|
|
|
|
Returns
|
|
-------
|
|
f : array_like
|
|
An array with shape (n_eval, p) with the values of the regression
|
|
model.
|
|
"""
|
|
|
|
x = np.asarray(x, dtype=np.float64)
|
|
n_eval, n_features = x.shape
|
|
f = np.hstack([np.ones([n_eval, 1]), x])
|
|
for k in range(n_features):
|
|
f = np.hstack([f, x[:, k, np.newaxis] * x[:, k:]])
|
|
|
|
return f
|