PairwiseKernel#

class sklearn.gaussian_process.kernels.PairwiseKernel(gamma=1.0, gamma_bounds=(1e-05, 100000.0), metric='linear', pairwise_kernels_kwargs=None)[Quellcode]#

Wrapper für Kernel in sklearn.metrics.pairwise.

Ein schlanker Wrapper um die Funktionalität der Kernels in sklearn.metrics.pairwise.

Hinweis: Die Auswertung von eval_gradient ist nicht analytisch, sondern numerisch und alle

Kernels unterstützen nur isotrope Abstände. Der Parameter gamma wird als Hyperparameter betrachtet und kann optimiert werden. Die anderen Kernel-Parameter werden direkt bei der Initialisierung gesetzt und bleiben fest.

Hinzugefügt in Version 0.18.

Parameter:
gammafloat, Standardwert=1.0

Parameter gamma des durch metric angegebenen Pairwise-Kernels. Er sollte positiv sein.

gamma_boundsPaar von Floats >= 0 oder „fixed“, Standardwert=(1e-5, 1e5)

Die untere und obere Grenze für 'gamma'. Wenn auf "fixed" gesetzt, kann 'gamma' während der Hyperparameter-Optimierung nicht geändert werden.

metric{„linear“, „additive_chi2“, „chi2“, „poly“, „polynomial“, „rbf“, „laplacian“, „sigmoid“, „cosine“} oder aufrufbar, Standardwert=„linear“

Die Metrik, die beim Berechnen des Kernels zwischen Instanzen in einem Feature-Array verwendet wird. Wenn metric ein String ist, muss es eine der Metriken in pairwise.PAIRWISE_KERNEL_FUNCTIONS sein. Wenn metric „precomputed“ ist, wird davon ausgegangen, dass X eine Kernel-Matrix ist. Alternativ, wenn metric eine aufrufbare Funktion ist, wird sie für jedes Paar von Instanzen (Zeilen) aufgerufen und der resultierende Wert aufgezeichnet. Die aufrufbare Funktion sollte zwei Arrays aus X als Eingabe nehmen und einen Wert zurückgeben, der den Abstand zwischen ihnen angibt.

pairwise_kernels_kwargsdict, Standardwert=None

Alle Einträge dieses Dicts (falls vorhanden) werden als Schlüsselwortargumente an die Pairwise-Kernel-Funktion übergeben.

Beispiele

>>> from sklearn.datasets import load_iris
>>> from sklearn.gaussian_process import GaussianProcessClassifier
>>> from sklearn.gaussian_process.kernels import PairwiseKernel
>>> X, y = load_iris(return_X_y=True)
>>> kernel = PairwiseKernel(metric='rbf')
>>> gpc = GaussianProcessClassifier(kernel=kernel,
...         random_state=0).fit(X, y)
>>> gpc.score(X, y)
0.9733
>>> gpc.predict_proba(X[:2,:])
array([[0.8880, 0.05663, 0.05532],
       [0.8676, 0.07073, 0.06165]])
__call__(X, Y=None, eval_gradient=False)[Quellcode]#

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

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

Parameter:
thetandarray mit Form (n_dims,)

Die Hyperparameter

diag(X)[Quellcode]#

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

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.

is_stationary()[Quellcode]#

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

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