CompoundKernel#
- class sklearn.gaussian_process.kernels.CompoundKernel(kernels)[source]#
Kernel which is composed of a set of other kernels.
Added in version 0.18.
- Parameters:
- kernelslist of Kernels
The other kernels
Examples
>>> from sklearn.gaussian_process.kernels import WhiteKernel >>> from sklearn.gaussian_process.kernels import RBF >>> from sklearn.gaussian_process.kernels import CompoundKernel >>> kernel = CompoundKernel( ... [WhiteKernel(noise_level=3.0), RBF(length_scale=2.0)]) >>> print(kernel.bounds) [[-11.51292546 11.51292546] [-11.51292546 11.51292546]] >>> print(kernel.n_dims) 2 >>> print(kernel.theta) [1.09861229 0.69314718]
- __call__(X, Y=None, eval_gradient=False)[source]#
Return the kernel k(X, Y) and optionally its gradient.
Note that this compound kernel returns the results of all simple kernel stacked along an additional axis.
- Parameters:
- Xarray-like of shape (n_samples_X, n_features) or list of object, default=None
Left argument of the returned kernel k(X, Y)
- Yarray-like of shape (n_samples_X, n_features) or list of object, default=None
Right argument of the returned kernel k(X, Y). If None, k(X, X) is evaluated instead.
- eval_gradientbool, default=False
Determines whether the gradient with respect to the log of the kernel hyperparameter is computed.
- Returns:
- Kndarray of shape (n_samples_X, n_samples_Y, n_kernels)
Kernel k(X, Y)
- K_gradientndarray of shape (n_samples_X, n_samples_X, n_dims, n_kernels), optional
The gradient of the kernel k(X, X) with respect to the log of the hyperparameter of the kernel. Only returned when
eval_gradient
is True.
- property bounds#
Returns the log-transformed bounds on the theta.
- Returns:
- boundsarray of shape (n_dims, 2)
The log-transformed bounds on the kernel’s hyperparameters theta
- clone_with_theta(theta)[source]#
Returns a clone of self with given hyperparameters theta.
- Parameters:
- thetandarray of shape (n_dims,)
The hyperparameters
- diag(X)[source]#
Returns the diagonal of the kernel k(X, X).
The result of this method is identical to
np.diag(self(X))
; however, it can be evaluated more efficiently since only the diagonal is evaluated.- Parameters:
- Xarray-like of shape (n_samples_X, n_features) or list of object
Argument to the kernel.
- Returns:
- K_diagndarray of shape (n_samples_X, n_kernels)
Diagonal of kernel k(X, X)
- get_params(deep=True)[source]#
Get parameters of this kernel.
- Parameters:
- deepbool, default=True
If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns:
- paramsdict
Parameter names mapped to their values.
- property hyperparameters#
Returns a list of all hyperparameter specifications.
- property n_dims#
Returns the number of non-fixed hyperparameters of the kernel.
- property requires_vector_input#
Returns whether the kernel is defined on discrete structures.
- set_params(**params)[source]#
Set the parameters of this kernel.
The method works on simple kernels as well as on nested kernels. The latter have parameters of the form
so that it’s possible to update each component of a nested object.__ - Returns:
- self
- property theta#
Returns the (flattened, log-transformed) non-fixed hyperparameters.
Note that theta are typically the log-transformed values of the kernel’s hyperparameters as this representation of the search space is more amenable for hyperparameter search, as hyperparameters like length-scales naturally live on a log-scale.
- Returns:
- thetandarray of shape (n_dims,)
The non-fixed, log-transformed hyperparameters of the kernel