KernelCenterer#

class sklearn.preprocessing.KernelCenterer[Quelle]#

Zentriert eine beliebige Kernelmatrix \(K\).

Definieren wir einen Kernel \(K\) so, dass

\[K(X, Y) = \phi(X) . \phi(Y)^{T}\]

\(\phi(X)\) ist eine Abbildung der Zeilen von \(X\) in einen Hilbertraum und \(K\) hat die Form (n_samples, n_samples).

Diese Klasse ermöglicht die Berechnung von \(\tilde{K}(X, Y)\), so dass

\[\tilde{K(X, Y)} = \tilde{\phi}(X) . \tilde{\phi}(Y)^{T}\]

\(\tilde{\phi}(X)\) sind die zentrierten abgebildeten Daten im Hilbertraum.

KernelCenterer zentriert die Merkmale, ohne die Abbildung \(\phi(\cdot)\) explizit zu berechnen. Die Arbeit mit zentrierten Kernels ist manchmal erwartet, wenn algebraische Berechnungen wie die Eigenzerlegung für KernelPCA durchgeführt werden.

Lesen Sie mehr im Benutzerhandbuch.

Attribute:
K_fit_rows_ndarray von shape (n_samples,)

Durchschnitt jeder Spalte der Kernelmatrix.

K_fit_all_float

Durchschnitt der Kernelmatrix.

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

feature_names_in_ndarray mit Form (n_features_in_,)

Namen der während fit gesehenen Merkmale. Nur definiert, wenn X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

sklearn.kernel_approximation.Nystroem

Approximiert eine Kernel-Abbildung mittels einer Teilmenge der Trainingsdaten.

Referenzen

Beispiele

>>> from sklearn.preprocessing import KernelCenterer
>>> from sklearn.metrics.pairwise import pairwise_kernels
>>> X = [[ 1., -2.,  2.],
...      [ -2.,  1.,  3.],
...      [ 4.,  1., -2.]]
>>> K = pairwise_kernels(X, metric='linear')
>>> K
array([[  9.,   2.,  -2.],
       [  2.,  14., -13.],
       [ -2., -13.,  21.]])
>>> transformer = KernelCenterer().fit(K)
>>> transformer
KernelCenterer()
>>> transformer.transform(K)
array([[  5.,   0.,  -5.],
       [  0.,  14., -14.],
       [ -5., -14.,  19.]])
fit(K, y=None)[Quelle]#

KernelCenterer anpassen.

Parameter:
Kndarray von shape (n_samples, n_samples)

Kernelmatrix.

yNone

Ignoriert.

Gibt zurück:
selfobject

Gibt die Instanz selbst zurück.

fit_transform(X, y=None, **fit_params)[Quelle]#

An Daten anpassen, dann transformieren.

Passt den Transformer an X und y mit optionalen Parametern fit_params an und gibt eine transformierte Version von X zurück.

Parameter:
Xarray-like der Form (n_samples, n_features)

Eingabestichproben.

yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None

Zielwerte (None für unüberwachte Transformationen).

**fit_paramsdict

Zusätzliche Fit-Parameter. Nur übergeben, wenn der Estimator zusätzliche Parameter in seiner fit-Methode akzeptiert.

Gibt zurück:
X_newndarray array der Form (n_samples, n_features_new)

Transformiertes Array.

get_feature_names_out(input_features=None)[Quelle]#

Holt die Ausgabemerkmale für die Transformation.

Die Feature-Namen werden mit dem kleingeschriebenen Klassennamen präfixiert. Wenn der Transformer z.B. 3 Features ausgibt, dann sind die Feature-Namen: ["klassenname0", "klassenname1", "klassenname2"].

Parameter:
input_featuresarray-like von str oder None, default=None

Wird nur verwendet, um die Feature-Namen mit den in fit gesehenen Namen zu validieren.

Gibt zurück:
feature_names_outndarray von str-Objekten

Transformierte Merkmalnamen.

get_metadata_routing()[Quelle]#

Holt das Metadaten-Routing dieses Objekts.

Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.

Gibt zurück:
routingMetadataRequest

Ein MetadataRequest, der Routing-Informationen kapselt.

get_params(deep=True)[Quelle]#

Holt Parameter für diesen Schätzer.

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.

set_output(*, transform=None)[Quelle]#

Ausgabecontainer festlegen.

Siehe Einführung in die set_output API für ein Beispiel zur Verwendung der API.

Parameter:
transform{“default”, “pandas”, “polars”}, default=None

Konfiguriert die Ausgabe von transform und fit_transform.

  • "default": Standardausgabeformat eines Transformers

  • "pandas": DataFrame-Ausgabe

  • "polars": Polars-Ausgabe

  • None: Die Transformationskonfiguration bleibt unverändert

Hinzugefügt in Version 1.4: Die Option "polars" wurde hinzugefügt.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

set_params(**params)[Quelle]#

Setzt die Parameter dieses Schätzers.

Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie Pipeline). Letztere haben Parameter der Form <component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.

Parameter:
**paramsdict

Schätzer-Parameter.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

set_transform_request(*, copy: bool | None | str = '$UNCHANGED$') KernelCenterer[Quelle]#

Konfiguriert, ob Metadaten für die transform-Methode angefordert werden sollen.

Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit enable_metadata_routing=True aktiviert ist (siehe sklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.

Die Optionen für jeden Parameter sind

  • True: Metadaten werden angefordert und, falls vorhanden, an transform weitergegeben. Die Anforderung wird ignoriert, wenn keine Metadaten bereitgestellt werden.

  • False: Metadaten werden nicht angefordert und die Meta-Schätzung übergibt sie nicht an transform.

  • None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.

  • str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.

Der Standardwert (sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.

Hinzugefügt in Version 1.3.

Parameter:
copystr, True, False oder None, Standard=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter copy in transform.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

transform(K, copy=True)[Quelle]#

Kernelmatrix zentrieren.

Parameter:
Kndarray von shape (n_samples1, n_samples2)

Kernelmatrix.

copybool, Standard=True

Setzen Sie auf False, um die Berechnung inplace durchzuführen.

Gibt zurück:
K_newndarray von shape (n_samples1, n_samples2)

Gibt die Instanz selbst zurück.