AdditiveChi2Sampler#

class sklearn.kernel_approximation.AdditiveChi2Sampler(*, sample_steps=2, sample_interval=None)[Quelle]#

Approximiert eine Merkmalsabbildung für den additiven Chi2-Kernel.

Verwendet Stichproben der Fourier-Transformation der charakteristischen Kernel-Funktion in regelmäßigen Abständen.

Da der zu approximierende Kernel additiv ist, können die Komponenten der Eingabevektoren separat behandelt werden. Jeder Eintrag im ursprünglichen Raum wird in 2*sample_steps-1 Merkmale transformiert, wobei sample_steps ein Parameter der Methode ist. Typische Werte für sample_steps sind 1, 2 und 3.

Optimale Werte für das Stichprobenintervall für bestimmte Datenbereiche können berechnet werden (siehe Referenz). Die Standardwerte sollten angemessen sein.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
sample_stepsint, Standardwert=2

Gibt die Anzahl der (komplexen) Stichprobenpunkte an.

sample_intervalfloat, Standardwert=None

Stichprobenintervall. Muss angegeben werden, wenn sample_steps nicht in {1,2,3} ist.

Attribute:
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

SkewedChi2Sampler

Eine Fourier-Approximation einer nicht-additiven Variante des Chi-Quadrat-Kernels.

sklearn.metrics.pairwise.chi2_kernel

Der exakte Chi-Quadrat-Kernel.

sklearn.metrics.pairwise.additive_chi2_kernel

Der exakte additive Chi-Quadrat-Kernel.

Anmerkungen

Dieser Estimator approximiert eine leicht andere Version des additiven Chi-Quadrat-Kernels als metric.additive_chi2 berechnet.

Dieser Estimator ist zustandslos und muss nicht angepasst werden. Wir empfehlen jedoch, fit_transform anstelle von transform aufzurufen, da die Parameterprüfung nur in fit durchgeführt wird.

Referenzen

Siehe „Efficient additive kernels via explicit feature maps“ A. Vedaldi und A. Zisserman, Pattern Analysis and Machine Intelligence, 2011

Beispiele

>>> from sklearn.datasets import load_digits
>>> from sklearn.linear_model import SGDClassifier
>>> from sklearn.kernel_approximation import AdditiveChi2Sampler
>>> X, y = load_digits(return_X_y=True)
>>> chi2sampler = AdditiveChi2Sampler(sample_steps=2)
>>> X_transformed = chi2sampler.fit_transform(X, y)
>>> clf = SGDClassifier(max_iter=5, random_state=0, tol=1e-3)
>>> clf.fit(X_transformed, y)
SGDClassifier(max_iter=5, random_state=0)
>>> clf.score(X_transformed, y)
0.9499...
fit(X, y=None)[Quelle]#

Validiert nur die Parameter des Estimators.

Diese Methode erlaubt: (i) die Validierung der Parameter des Estimators und (ii) Konsistenz mit der scikit-learn Transformer API.

Parameter:
Xarray-ähnlich, Form (n_samples, n_features)

Trainingsdaten, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Merkmale ist.

yarray-ähnlich, Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None

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

Gibt zurück:
selfobject

Gibt den Transformer 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.

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

Wird nur zur Validierung von Feature-Namen mit den in fit gesehenen Namen verwendet.

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.

transform(X)[Quelle]#

Wendet die approximative Feature-Map auf X an.

Parameter:
X{array-like, sparse matrix}, shape (n_samples, n_features)

Trainingsdaten, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Merkmale ist.

Gibt zurück:
X_new{ndarray, sparse matrix}, shape = (n_samples, n_features * (2*sample_steps - 1))

Ob der Rückgabewert ein Array oder eine Sparse-Matrix ist, hängt vom Typ des Eingabe-X ab.