Produkt#

class sklearn.gaussian_process.kernels.Product(k1, k2)[Quelle]#

Der Product-Kernel nimmt zwei Kernel \(k_1\) und \(k_2\) und kombiniert sie über

\[k_{prod}(X, Y) = k_1(X, Y) * k_2(X, Y)\]

Beachten Sie, dass die magische Methode __mul__ überschrieben wird, sodass Product(RBF(), RBF()) äquivalent zur Verwendung des * Operators mit RBF() * RBF() ist.

Lesen Sie mehr im Benutzerhandbuch.

Hinzugefügt in Version 0.18.

Parameter:
k1Kernel

Der erste Basiskernel des Produktkernels

k2Kernel

Der zweite Basiskernel des Produktkernels

Beispiele

>>> 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)
__call__(X, Y=None, eval_gradient=False)[Quelle]#

Gibt den Kernel k(X, Y) und optional seinen Gradienten zurück.

Parameter:
Xarray-ähnlich der Form (n_samples_X, n_features) oder Liste von Objekten

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

Yarray-ähnlich von Form (n_samples_Y, n_features) oder Liste von Objekten, Standard=None

Rechtes Argument des zurückgegebenen Kernels k(X, Y). Wenn None, wird stattdessen k(X, X) ausgewertet.

eval_gradientbool, Standardwert=False

Bestimmt, ob der Gradient bezüglich des Logarithmus des Kernel-Hyperparameters berechnet wird.

Gibt zurück:
Kndarray mit Form (n_samples_X, n_samples_Y)

Kernel k(X, Y)

K_gradientndarray mit Form (n_samples_X, n_samples_X, n_dims), optional

Der Gradient des Kernels k(X, X) bezüglich des Logarithmus des Hyperparameters des Kernels. Nur zurückgegeben, wenn eval_gradient True ist.

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)[Quelle]#

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

Parameter:
thetandarray mit Form (n_dims,)

Die Hyperparameter

diag(X)[Quelle]#

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-ähnlich der Form (n_samples_X, n_features) oder Liste von Objekten

Argument für den Kernel.

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

Diagonale des Kerns k(X, X)

get_params(deep=True)[Quelle]#

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 Hyperparameter zurück.

is_stationary()[Quelle]#

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 stationär ist.

set_params(**params)[Quelle]#

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