package sklearn

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type tag = [
  1. | `DotProduct
]
type t = [ `DotProduct | `Object ] Obj.t
val of_pyobject : Py.Object.t -> t
val to_pyobject : [> tag ] Obj.t -> Py.Object.t
val create : ?sigma_0:float -> ?sigma_0_bounds:[ `Tuple of float * float | `Fixed ] -> unit -> t

Dot-Product kernel.

The DotProduct kernel is non-stationary and can be obtained from linear regression by putting :math:`N(0, 1)` priors on the coefficients of :math:`x_d (d = 1, . . . , D)` and a prior of :math:`N(0, \sigma_0^2)` on the bias. The DotProduct kernel is invariant to a rotation of the coordinates about the origin, but not translations. It is parameterized by a parameter sigma_0 :math:`\sigma` which controls the inhomogenity of the kernel. For :math:`\sigma_0^2 =0`, the kernel is called the homogeneous linear kernel, otherwise it is inhomogeneous. The kernel is given by

.. math:: k(x_i, x_j) = \sigma_0 ^ 2 + x_i \cdot x_j

The DotProduct kernel is commonly combined with exponentiation.

See 1_, Chapter 4, Section 4.2, for further details regarding the DotProduct kernel.

Read more in the :ref:`User Guide <gp_kernels>`.

.. versionadded:: 0.18

Parameters ---------- sigma_0 : float >= 0, default=1.0 Parameter controlling the inhomogenity of the kernel. If sigma_0=0, the kernel is homogenous.

sigma_0_bounds : pair of floats >= 0 or 'fixed', default=(1e-5, 1e5) The lower and upper bound on 'sigma_0'. If set to 'fixed', 'sigma_0' cannot be changed during hyperparameter tuning.

References ---------- .. 1 `Carl Edward Rasmussen, Christopher K. I. Williams (2006). 'Gaussian Processes for Machine Learning'. The MIT Press. <http://www.gaussianprocess.org/gpml/>`_

Examples -------- >>> from sklearn.datasets import make_friedman2 >>> from sklearn.gaussian_process import GaussianProcessRegressor >>> from sklearn.gaussian_process.kernels import DotProduct, WhiteKernel >>> X, y = make_friedman2(n_samples=500, noise=0, random_state=0) >>> kernel = DotProduct() + WhiteKernel() >>> gpr = GaussianProcessRegressor(kernel=kernel, ... random_state=0).fit(X, y) >>> gpr.score(X, y) 0.3680... >>> gpr.predict(X:2,:, return_std=True) (array(653.0..., 592.1...), array(316.6..., 316.6...))

val clone_with_theta : theta:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> Py.Object.t

Returns a clone of self with given hyperparameters theta.

Parameters ---------- theta : ndarray of shape (n_dims,) The hyperparameters

val diag : x:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> [> `ArrayLike ] Np.Obj.t

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 ---------- X : ndarray of shape (n_samples_X, n_features) Left argument of the returned kernel k(X, Y).

Returns ------- K_diag : ndarray of shape (n_samples_X,) Diagonal of kernel k(X, X).

val get_params : ?deep:bool -> [> tag ] Obj.t -> Dict.t

Get parameters of this kernel.

Parameters ---------- deep : bool, default=True If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns ------- params : dict Parameter names mapped to their values.

val is_stationary : [> tag ] Obj.t -> Py.Object.t

Returns whether the kernel is stationary.

val set_params : ?params:(string * Py.Object.t) list -> [> tag ] Obj.t -> t

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 ``<component>__<parameter>`` so that it's possible to update each component of a nested object.

Returns ------- self

val to_string : t -> string

Print the object to a human-readable representation.

val show : t -> string

Print the object to a human-readable representation.

val pp : Stdlib.Format.formatter -> t -> unit

Pretty-print the object to a formatter.