sklearn.gaussian_process.kernels
.Product¶
- class sklearn.gaussian_process.kernels.Product¶
El núcleo
Product
toma dos núcleos \(k_1\) y \(k_2\) y los combina mediante\[k_{prod}(X, Y) = k_1(X, Y) * k_2(X, Y)\]Tenga en cuenta que el método mágico
__mul__
está anulado, por lo queProduct(RBF(), RBF())
es equivalente a utilizar el operador * conRBF() * RBF()
.Más información en la Manual de usuario.
Nuevo en la versión 0.18.
- Parámetros
- k1Núcleo (kernel)
El primer núcleo base (base-kernel) del núcleo producto (product-kernel)
- k2Núcleo (kernel)
El segundo núcleo base (second-kernel) del núcleo producto (product-kernel)
- Atributos
bounds
Devuelve los límites transformados en logaritmo de theta.
hyperparameters
Devuelve una lista de todos los hiperparámetros.
n_dims
Devuelve el número de hiperparámetros no fijos del núcleo.
requires_vector_input
Devuelve si el núcleo es estacionario.
theta
Devuelve los hiperparámetros no fijos (aplanados y transformados en logaritmos).
Ejemplos
>>> from sklearn.datasets import make_friedman2 >>> from sklearn.gaussian_process import GaussianProcessRegressor >>> from sklearn.gaussian_process.kernels import (RBF, Product, ... ConstantKernel) >>> X, y = make_friedman2(n_samples=500, noise=0, random_state=0) >>> kernel = Product(ConstantKernel(2), RBF()) >>> gpr = GaussianProcessRegressor(kernel=kernel, ... random_state=0).fit(X, y) >>> gpr.score(X, y) 1.0 >>> kernel 1.41**2 * RBF(length_scale=1)
Métodos
Devuelve el núcleo k(X, Y) y opcionalmente su gradiente.
Devuelve un clon de sí mismo con los hiperparámetros dados theta.
Devuelve la diagonal del núcleo k(X, X).
Obtiene los parámetros de este núcleo.
Devuelve si el núcleo es estacionario.
Establece los parámetros de este núcleo.
- __call__()¶
Devuelve el núcleo k(X, Y) y opcionalmente su gradiente.
- Parámetros
- Xarray-like de forma (n_samples_X, n_features) o lista de objetos
Argumento izquierdo del núcleo devuelto k(X, Y)
- Yarray-like de forma (n_samples_Y, n_features) o lista de objetos, default=None
Argumento derecho del núcleo devuelto k(X, Y). Si es None, se evalúa k(X, X) en su lugar.
- eval_gradientbool, default=False
Determina si se calcula el gradiente con respecto al logaritmo del hiperparámetro del núcleo.
- Devuelve
- Kndarray de forma (n_samples_X, n_samples_Y)
Núcleo k(X, Y)
- K_gradientndarray de forma(n_samples_X, n_samples_X, n_dims), opcional
El gradiente del núcleo (kernel) k(X, X) con respecto al logaritmo del hiperparámetro del núcleo. Sólo se devuelve cuando
eval_gradient
es True.
- property bounds¶
Devuelve los límites transformados en logaritmo de theta.
- Devuelve
- boundsndarray de forma (n_dims, 2)
Los límites transformados logarítmicamente de los hiperparámetros del núcleo theta
- clone_with_theta()¶
Devuelve un clon de sí mismo con los hiperparámetros dados theta.
- Parámetros
- thetandarray de forma (n_dims,)
Hiperparámetros
- diag()¶
Devuelve la diagonal del núcleo k(X, X).
El resultado de este método es idéntico al de np.diag(self(X)); sin embargo, se puede evaluar de forma más eficiente ya que sólo se evalúa la diagonal.
- Parámetros
- Xarray-like de forma (n_samples_X, n_features) o lista de objetos
Argumento para el núcleo.
- Devuelve
- K_diagndarray de forma (n_samples_X,)
Diagonal del núcleo k(X, X)
- get_params()¶
Obtiene los parámetros de este núcleo.
- Parámetros
- deepbool, default=True
Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- property hyperparameters¶
Devuelve una lista de todos los hiperparámetros.
- is_stationary()¶
Devuelve si el núcleo es estacionario.
- property n_dims¶
Devuelve el número de hiperparámetros no fijos del núcleo.
- property requires_vector_input¶
Devuelve si el núcleo es estacionario.
- set_params()¶
Establece los parámetros de este núcleo.
El método funciona tanto en núcleos simples como en núcleos anidados. Estos últimos tienen parámetros de la forma
<component>__<parameter>
para que sea posible actualizar cada componente de un objeto anidado.- Devuelve
- self
- property theta¶
Devuelve los hiperparámetros no fijos (aplanados y transformados en logaritmos).
Ten en cuenta que theta suelen ser los valores transformados en logaritmos de los hiperparámetros del núcleo, ya que esta representación del espacio de búsqueda es más adecuada para la búsqueda de hiperparámetros, ya que los hiperparámetros como las escalas de longitud viven naturalmente en una escala logarítmica.
- Devuelve
- thetandarray de forma (n_dims,)
Los hiperparámetros no fijos y transformados en logaritmos del núcleo