Kernel#

class sklearn.gaussian_process.kernels.Kernel[source]#

Basisklasse für alle Kernel.

Hinzugefügt in Version 0.18.

Beispiele

>>> from sklearn.gaussian_process.kernels import Kernel, RBF
>>> import numpy as np
>>> class CustomKernel(Kernel):
...     def __init__(self, length_scale=1.0):
...         self.length_scale = length_scale
...     def __call__(self, X, Y=None):
...         if Y is None:
...             Y = X
...         return np.inner(X, X if Y is None else Y) ** 2
...     def diag(self, X):
...         return np.ones(X.shape[0])
...     def is_stationary(self):
...         return True
>>> kernel = CustomKernel(length_scale=2.0)
>>> X = np.array([[1, 2], [3, 4]])
>>> print(kernel(X))
[[ 25 121]
 [121 625]]
abstractmethod __call__(X, Y=None, eval_gradient=False)[source]#

Evaluiert den Kernel.

property bounds#

Gibt die log-transformierten Grenzen für theta zurück.

Gibt zurück:
boundsndarray mit Form (n_dims, 2)

Die log-transformierten Grenzen für die Hyperparameter theta des Kernels

clone_with_theta(theta)[source]#

Gibt eine Kopie von self mit den angegebenen Hyperparametern theta zurück.

Parameter:
thetandarray mit Form (n_dims,)

Die Hyperparameter

abstractmethod diag(X)[source]#

Gibt die Diagonale des Kernels k(X, X) zurück.

Das Ergebnis dieser Methode ist identisch mit np.diag(self(X)); sie kann jedoch effizienter ausgewertet werden, da nur die Diagonale ausgewertet wird.

Parameter:
Xarray-like of shape (n_samples,)

Linkes Argument des zurückgegebenen Kernels k(X, Y)

Gibt zurück:
K_diagndarray mit Form (n_samples_X,)

Diagonale des Kerns k(X, X)

get_params(deep=True)[source]#

Parameter dieses Kernels abrufen.

Parameter:
deepbool, default=True

Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.

Gibt zurück:
paramsdict

Parameternamen, zugeordnet ihren Werten.

property hyperparameters#

Gibt eine Liste aller Spezifikationen von Hyperparametern zurück.

abstractmethod is_stationary()[source]#

Gibt zurück, ob der Kernel stationär ist.

property n_dims#

Gibt die Anzahl der nicht-festen Hyperparameter des Kernels zurück.

property requires_vector_input#

Gibt zurück, ob der Kernel auf Vektoren mit fester Länge oder generischen Objekten definiert ist. Standardmäßig True aus Kompatibilitätsgründen.

set_params(**params)[source]#

Parameter dieses Kernels setzen.

Die Methode funktioniert sowohl bei einfachen Kernels als auch bei verschachtelten Kernels. Letztere haben Parameter der Form <component>__<parameter>, sodass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.

Gibt zurück:
self
property theta#

Gibt die (abgeflachten, log-transformierten) nicht-festen Hyperparameter zurück.

Beachten Sie, dass theta typischerweise die log-transformierten Werte der Hyperparameter des Kernels sind, da diese Darstellung des Suchraums besser für die Hyperparameter-Suche geeignet ist, da Hyperparameter wie Längen-Skalen natürlich auf einer logarithmischen Skala liegen.

Gibt zurück:
thetandarray mit Form (n_dims,)

Die nicht-festen, log-transformierten Hyperparameter des Kernels