FunctionTransformer#
- class sklearn.preprocessing.FunctionTransformer(func=None, inverse_func=None, *, validate=False, accept_sparse=False, check_inverse=True, feature_names_out=None, kw_args=None, inv_kw_args=None)[source]#
Konstruiert einen Transformator aus einer beliebigen aufrufbaren Funktion.
Ein FunctionTransformer leitet seine X- (und optional y-) Argumente an eine benutzerdefinierte Funktion oder ein Funktionsobjekt weiter und gibt das Ergebnis dieser Funktion zurück. Dies ist nützlich für zustandslose Transformationen wie die Logarithmierung von Häufigkeiten, benutzerdefinierte Skalierung usw.
Hinweis: Wenn eine Lambda-Funktion als Funktion verwendet wird, ist der resultierende Transformer nicht serialisierbar (pickleable).
Hinzugefügt in Version 0.17.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- funccallable, default=None
Der für die Transformation zu verwendende aufrufbare Code. Dieser erhält die gleichen Argumente wie transform, wobei args und kwargs weitergeleitet werden. Wenn func None ist, ist func die Identitätsfunktion.
- inverse_funccallable, default=None
Der für die inverse Transformation zu verwendende aufrufbare Code. Dieser erhält die gleichen Argumente wie inverse_transform, wobei args und kwargs weitergeleitet werden. Wenn inverse_func None ist, ist inverse_func die Identitätsfunktion.
- validatebool, default=False
Gibt an, dass das Eingabearray X vor dem Aufruf von
funcüberprüft werden soll. Die Möglichkeiten sind:Wenn False, erfolgt keine Eingabevalidierung.
Wenn True, wird X in ein 2-dimensionales NumPy-Array oder eine Sparse-Matrix konvertiert. Wenn die Konvertierung nicht möglich ist, wird eine Ausnahme ausgelöst.
Geändert in Version 0.22: Der Standardwert für
validatewurde von True auf False geändert.- accept_sparsebool, default=False
Gibt an, dass func eine Sparse-Matrix als Eingabe akzeptiert. Wenn validate False ist, hat dies keine Auswirkung. Andernfalls wird bei Sparse-Matrix-Eingaben eine Ausnahme ausgelöst, wenn accept_sparse False ist.
- check_inversebool, default=True
Ob überprüft werden soll, ob
funcgefolgt voninverse_funczu den ursprünglichen Eingaben führt. Dies kann zur Überprüfung verwendet werden und löst eine Warnung aus, wenn die Bedingung nicht erfüllt ist.Hinzugefügt in Version 0.20.
- feature_names_outcallable, ‘one-to-one’ oder None, default=None
Bestimmt die Liste der Feature-Namen, die von der Methode
get_feature_names_outzurückgegeben werden. Wenn es sich um ‘one-to-one’ handelt, entsprechen die Ausgabefeature-Namen den Eingabefeature-Namen. Wenn es sich um einen aufrufbaren Code handelt, muss dieser zwei positionelle Argumente entgegennehmen: diesesFunctionTransformer(self) und ein Array-ähnliches Objekt mit Eingabefeature-Namen (input_features). Es muss ein Array-ähnliches Objekt mit Ausgabefeature-Namen zurückgeben. Die Methodeget_feature_names_outist nur definiert, wennfeature_names_outnicht None ist.Siehe
get_feature_names_outfür weitere Details.Hinzugefügt in Version 1.1.
- kw_argsdict, default=None
Wörterbuch mit zusätzlichen Schlüsselwortargumenten, die an func übergeben werden.
Hinzugefügt in Version 0.18.
- inv_kw_argsdict, default=None
Wörterbuch mit zusätzlichen Schlüsselwortargumenten, die an inverse_func übergeben werden.
Hinzugefügt in Version 0.18.
- Attribute:
Siehe auch
MaxAbsScalerSkaliert jedes Merkmal nach seinem maximalen absoluten Wert.
StandardScalerStandardisiert Merkmale durch Entfernen des Mittelwerts und Skalierung auf Einheitsvarianz.
LabelBinarizerBinarisiert Labels im One-vs-all-Verfahren.
MultiLabelBinarizerTransformiert zwischen iterierbaren von iterierbaren und einem Multilabel-Format.
Anmerkungen
Wenn
funceine Ausgabe mit einemcolumns-Attribut zurückgibt, wird die Spalte so erzwungen, dass sie mit der Ausgabe vonget_feature_names_outkonsistent ist.Beispiele
>>> import numpy as np >>> from sklearn.preprocessing import FunctionTransformer >>> transformer = FunctionTransformer(np.log1p) >>> X = np.array([[0, 1], [2, 3]]) >>> transformer.transform(X) array([[0. , 0.6931], [1.0986, 1.3862]])
- fit(X, y=None)[source]#
Passt den Transformer an, indem X überprüft wird.
Wenn
validateaufTruegesetzt ist, wirdXüberprüft.- Parameter:
- X{array-like, sparse-matrix} der Form (n_samples, n_features), wenn
validate=Trueist, sonst jedes Objekt, dasfuncverarbeiten kann Eingabearray.
- yIgnoriert
Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.
- X{array-like, sparse-matrix} der Form (n_samples, n_features), wenn
- Gibt zurück:
- selfobject
Instanz der Klasse FunctionTransformer.
- fit_transform(X, y=None, **fit_params)[source]#
An Daten anpassen, dann transformieren.
Passt den Transformer an
Xundymit optionalen Parameternfit_paramsan und gibt eine transformierte Version vonXzurü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)[source]#
Holt die Ausgabemerkmale für die Transformation.
Diese Methode ist nur definiert, wenn
feature_names_outnicht None ist.- Parameter:
- input_featuresarray-like von str oder None, default=None
Feature-Namen der Eingabe.
Wenn
input_featuresNone ist, werdenfeature_names_in_als Eingabefeature-Namen verwendet. Wennfeature_names_in_nicht definiert ist, werden Namen generiert:[x0, x1, ..., x(n_features_in_ - 1)].Wenn
input_featuresarray-ähnlich ist, mussinput_featuresmitfeature_names_in_übereinstimmen, wennfeature_names_in_definiert ist.
- Gibt zurück:
- feature_names_outndarray von str-Objekten
Transformierte Merkmalnamen.
Wenn
feature_names_out‘one-to-one’ ist, werden die Eingabefeature-Namen zurückgegeben (sieheinput_featuresoben). Dies erfordert, dassfeature_names_in_und/odern_features_in_definiert sind, was automatisch geschieht, wennvalidate=Trueist. Alternativ können Sie diese infuncfestlegen.Wenn
feature_names_outaufrufbare ist, wird sie mit zwei Argumenten aufgerufen:selfundinput_features, und ihr Rückgabewert wird von dieser Methode zurückgegeben.
- get_metadata_routing()[source]#
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)[source]#
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.
- inverse_transform(X)[source]#
Transformiert X mit der inversen Funktion.
- Parameter:
- X{array-like, sparse-matrix} der Form (n_samples, n_features), wenn
validate=Trueist, sonst jedes Objekt, dasinverse_funcverarbeiten kann Eingabearray.
- X{array-like, sparse-matrix} der Form (n_samples, n_features), wenn
- Gibt zurück:
- X_originalarray-like, Form (n_samples, n_features)
Transformierter Eingang.
- set_output(*, transform=None)[source]#
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
transformundfit_transform."default": Standardausgabeformat eines Transformers"pandas": DataFrame-Ausgabe"polars": Polars-AusgabeNone: 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)[source]#
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)[source]#
Transformiert X mit der Vorwärtsfunktion.
- Parameter:
- X{array-like, sparse-matrix} der Form (n_samples, n_features), wenn
validate=Trueist, sonst jedes Objekt, dasfuncverarbeiten kann Eingabearray.
- X{array-like, sparse-matrix} der Form (n_samples, n_features), wenn
- Gibt zurück:
- X_outarray-like, Form (n_samples, n_features)
Transformierter Eingang.
Galeriebeispiele#
Poisson-Regression und nicht-normale Verlustfunktion