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 validate wurde 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 func gefolgt von inverse_func zu 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_out zurü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: dieses FunctionTransformer (self) und ein Array-ähnliches Objekt mit Eingabefeature-Namen (input_features). Es muss ein Array-ähnliches Objekt mit Ausgabefeature-Namen zurückgeben. Die Methode get_feature_names_out ist nur definiert, wenn feature_names_out nicht None ist.

Siehe get_feature_names_out fü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:
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

MaxAbsScaler

Skaliert jedes Merkmal nach seinem maximalen absoluten Wert.

StandardScaler

Standardisiert Merkmale durch Entfernen des Mittelwerts und Skalierung auf Einheitsvarianz.

LabelBinarizer

Binarisiert Labels im One-vs-all-Verfahren.

MultiLabelBinarizer

Transformiert zwischen iterierbaren von iterierbaren und einem Multilabel-Format.

Anmerkungen

Wenn func eine Ausgabe mit einem columns-Attribut zurückgibt, wird die Spalte so erzwungen, dass sie mit der Ausgabe von get_feature_names_out konsistent 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 validate auf True gesetzt ist, wird X überprüft.

Parameter:
X{array-like, sparse-matrix} der Form (n_samples, n_features), wenn validate=True ist, sonst jedes Objekt, das func verarbeiten kann

Eingabearray.

yIgnoriert

Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.

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

Holt die Ausgabemerkmale für die Transformation.

Diese Methode ist nur definiert, wenn feature_names_out nicht None ist.

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

Feature-Namen der Eingabe.

  • Wenn input_features None ist, werden feature_names_in_ als Eingabefeature-Namen verwendet. Wenn feature_names_in_ nicht definiert ist, werden Namen generiert: [x0, x1, ..., x(n_features_in_ - 1)].

  • Wenn input_features array-ähnlich ist, muss input_features mit feature_names_in_ übereinstimmen, wenn feature_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 (siehe input_features oben). Dies erfordert, dass feature_names_in_ und/oder n_features_in_ definiert sind, was automatisch geschieht, wenn validate=True ist. Alternativ können Sie diese in func festlegen.

  • Wenn feature_names_out aufrufbare ist, wird sie mit zwei Argumenten aufgerufen: self und input_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=True ist, sonst jedes Objekt, das inverse_func verarbeiten kann

Eingabearray.

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 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)[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=True ist, sonst jedes Objekt, das func verarbeiten kann

Eingabearray.

Gibt zurück:
X_outarray-like, Form (n_samples, n_features)

Transformierter Eingang.