ExpSineSquared#
- class sklearn.gaussian_process.kernels.ExpSineSquared(length_scale=1.0, periodicity=1.0, length_scale_bounds=(1e-05, 100000.0), periodicity_bounds=(1e-05, 100000.0))[Quelle]#
Exp-Sine-Squared Kernel (auch bekannt als periodischer Kernel).
Der ExpSineSquared-Kernel ermöglicht die Modellierung von Funktionen, die sich exakt wiederholen. Er wird durch einen Längenskala-Parameter \(l>0\) und einen Periodizitäts-Parameter \(p>0\) parametrisiert. Derzeit wird nur die isotrope Variante unterstützt, bei der \(l\) eine Skalare ist. Der Kernel ist gegeben durch
\[k(x_i, x_j) = \text{exp}\left(- \frac{ 2\sin^2(\pi d(x_i, x_j)/p) }{ l^ 2} \right)\]wobei \(l\) die Längenskala des Kernels, \(p\) die Periodizität des Kernels und \(d(\cdot,\cdot)\) der euklidische Abstand ist.
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.18.
- Parameter:
- length_scalefloat > 0, Standardwert=1.0
Die Längenskala des Kernels.
- periodicityfloat > 0, Standardwert=1.0
Die Periodizität des Kernels.
- length_scale_boundsPaar von Floats >= 0 oder „fixed“, Standardwert=(1e-5, 1e5)
Die untere und obere Grenze für ‘length_scale’. Wenn auf „fixed“ gesetzt, kann ‘length_scale’ während des Hyperparameter-Tunings nicht geändert werden.
- periodicity_boundsPaar von Floats >= 0 oder “fixed”, Standardwert=(1e-5, 1e5)
Die untere und obere Grenze für ‘periodicity’. Wenn auf “fixed” gesetzt, kann ‘periodicity’ während der Hyperparameter-Optimierung nicht geändert werden.
Beispiele
>>> from sklearn.datasets import make_friedman2 >>> from sklearn.gaussian_process import GaussianProcessRegressor >>> from sklearn.gaussian_process.kernels import ExpSineSquared >>> X, y = make_friedman2(n_samples=50, noise=0, random_state=0) >>> kernel = ExpSineSquared(length_scale=1, periodicity=1) >>> gpr = GaussianProcessRegressor(kernel=kernel, alpha=5, ... random_state=0).fit(X, y) >>> gpr.score(X, y) 0.0144 >>> gpr.predict(X[:2,:], return_std=True) (array([425.6, 457.5]), array([0.3894, 0.3467]))
- __call__(X, Y=None, eval_gradient=False)[Quelle]#
Gibt den Kernel k(X, Y) und optional seinen Gradienten zurück.
- Parameter:
- Xndarray mit Form (n_samples_X, n_features)
Linkes Argument des zurückgegebenen Kernels k(X, Y)
- Yndarray mit Form (n_samples_Y, n_features), Standardwert=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. Nur unterstützt, wenn Y None ist.
- 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_gradientTrue 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:
- Xndarray mit Form (n_samples_X, n_features)
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)[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 hyperparameter_length_scale#
Gibt die Längenskala zurück.
- property hyperparameters#
Gibt eine Liste aller Spezifikationen von Hyperparametern zurück.
- 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)[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
Galeriebeispiele#
Vergleich von Kernel Ridge und Gauß-Prozess-Regression
Prognose des CO2-Spiegels im Mona Loa Datensatz mittels Gauß-Prozess-Regression (GPR)
Illustration von Prior und Posterior Gauß-Prozess für verschiedene Kerne