SimpleImputer#

class sklearn.impute.SimpleImputer(*, missing_values=nan, strategy='mean', fill_value=None, copy=True, add_indicator=False, keep_empty_features=False)[Quelle]#

Univariater Imputer zur Vervollständigung fehlender Werte mit einfachen Strategien.

Ersetzt fehlende Werte mithilfe einer beschreibenden Statistik (z. B. Mittelwert, Median oder häufigster Wert) entlang jeder Spalte oder mithilfe eines konstanten Werts.

Lesen Sie mehr im Benutzerhandbuch.

Hinzugefügt in Version 0.20: SimpleImputer ersetzt den vorherigen sklearn.preprocessing.Imputer-Estimator, der nun entfernt wurde.

Parameter:
missing_valuesint, float, str, np.nan, None oder pandas.NA, Standardwert=np.nan

Der Platzhalter für die fehlenden Werte. Alle Vorkommen von missing_values werden imputiert. Für Pandas-DataFrames mit nullable Integer-Datentypen mit fehlenden Werten kann missing_values entweder auf np.nan oder pd.NA gesetzt werden.

strategystr oder Callable, Standardwert=’mean’

Die Imputationsstrategie.

  • Wenn „mean“, dann ersetzen Sie fehlende Werte durch den Mittelwert entlang jeder Spalte. Kann nur mit numerischen Daten verwendet werden.

  • Wenn „median“, dann ersetzen Sie fehlende Werte durch den Median entlang jeder Spalte. Kann nur mit numerischen Daten verwendet werden.

  • Wenn „most_frequent“, dann ersetzen Sie fehlende Werte durch den häufigsten Wert entlang jeder Spalte. Kann mit Zeichenketten oder numerischen Daten verwendet werden. Wenn es mehr als einen solchen Wert gibt, wird nur der kleinste zurückgegeben.

  • Wenn „constant“, dann ersetzen Sie fehlende Werte durch fill_value. Kann mit Zeichenketten oder numerischen Daten verwendet werden.

  • Wenn eine Instanz von Callable, dann ersetzen Sie fehlende Werte durch die skalare Statistik, die durch Ausführen des Callables über ein dichtes 1D-Array mit nicht fehlenden Werten jeder Spalte zurückgegeben wird.

Hinzugefügt in Version 0.20: strategy=”constant” für die Imputation mit festem Wert.

Hinzugefügt in Version 1.5: strategy=callable für die Imputation mit benutzerdefiniertem Wert.

fill_valuestr oder numerischer Wert, Standardwert=None

Wenn strategy == „constant“, wird fill_value verwendet, um alle Vorkommen von missing_values zu ersetzen. Für Zeichenketten- oder Objektdatentypen muss fill_value eine Zeichenkette sein. Wenn None, dann ist fill_value 0 bei der Imputation numerischer Daten und „missing_value“ für Zeichenketten- oder Objektdatentypen.

copybool, Standard=True

Wenn True, wird eine Kopie von X erstellt. Wenn False, erfolgt die Imputation, wo immer möglich, direkt in-place. Beachten Sie, dass in den folgenden Fällen immer eine neue Kopie erstellt wird, auch wenn copy=False

  • Wenn X keine Gleitkommazahlmatrix ist;

  • Wenn X als CSR-Matrix kodiert ist;

  • Wenn add_indicator=True.

add_indicatorbool, Standardwert=False

Wenn True, wird eine MissingIndicator-Transformation an die Ausgabe der transform-Methode des Imputers angehängt. Dies ermöglicht einem prädiktiven Schätzer, fehlende Werte trotz Imputation zu berücksichtigen. Wenn ein Merkmal zur Fit-/Trainingszeit keine fehlenden Werte hat, erscheint das Merkmal nicht im fehlenden Indikator, auch wenn zur Transform-/Testzeit fehlende Werte vorhanden sind.

keep_empty_featuresbool, Standardwert=False

Wenn True, werden Merkmale, die ausschließlich aus fehlenden Werten bestehen, wenn fit aufgerufen wird, bei Aufruf von transform in den Ergebnissen zurückgegeben. Der imputierte Wert ist immer 0, es sei denn, strategy="constant", in diesem Fall wird stattdessen fill_value verwendet.

Hinzugefügt in Version 1.2.

Attribute:
statistics_array der Form (n_features,)

Der Imputationsfüllwert für jedes Merkmal. Die Berechnung von Statistiken kann zu np.nan-Werten führen. Während der transform werden Merkmale, die np.nan-Statistiken entsprechen, verworfen.

indicator_MissingIndicator

Indikator zum Hinzufügen binärer Indikatoren für fehlende Werte. None wenn add_indicator=False.

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

IterativeImputer

Multivariater Imputer, der Werte schätzt, um fehlende Werte für jedes Merkmal mit fehlenden Werten aus allen anderen zu imputieren.

KNNImputer

Multivariater Imputer, der fehlende Merkmale mithilfe von nächsten Stichproben schätzt.

Anmerkungen

Spalten, die bei fit nur fehlende Werte enthielten, werden bei transform verworfen, wenn die Strategie nicht "constant" ist.

Im Vorhersagekontext leistet einfache Imputation normalerweise schlechte Ergebnisse, wenn sie mit einem schwachen Lerner verbunden ist. Mit einem leistungsfähigen Lerner kann sie jedoch eine Leistung erzielen, die so gut oder besser ist als bei komplexen Imputationsmethoden wie IterativeImputer oder KNNImputer.

Beispiele

>>> import numpy as np
>>> from sklearn.impute import SimpleImputer
>>> imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')
>>> imp_mean.fit([[7, 2, 3], [4, np.nan, 6], [10, 5, 9]])
SimpleImputer()
>>> X = [[np.nan, 2, 3], [4, np.nan, 6], [10, np.nan, 9]]
>>> print(imp_mean.transform(X))
[[ 7.   2.   3. ]
 [ 4.   3.5  6. ]
 [10.   3.5  9. ]]

Ein detaillierteres Beispiel finden Sie unter Fehlende Werte vor dem Aufbau eines Schätzers imputieren.

fit(X, y=None)[Quelle]#

Passt den Imputer an X an.

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

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

yIgnoriert

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

Gibt zurück:
selfobject

Angepasster Schätzer.

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

Eingabemerkmale.

  • Wenn input_features None ist, werden feature_names_in_ als Merkmalnamen verwendet. Wenn feature_names_in_ nicht definiert ist, werden die folgenden Eingabemerkmalsnamen generiert: ["x0", "x1", ..., "x(n_features_in_ - 1)"].

  • Wenn input_features ein Array-ähnliches Objekt 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.

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.

inverse_transform(X)[Quelle]#

Wandelt die Daten in die ursprüngliche Darstellung zurück.

Kehrt die transform-Operation um, die auf einer Matrix ausgeführt wurde. Diese Operation kann nur durchgeführt werden, nachdem SimpleImputer mit add_indicator=True instanziiert wurde.

Beachten Sie, dass inverse_transform nur die Transformation bei Merkmalen umkehren kann, die binäre Indikatoren für fehlende Werte haben. Wenn ein Merkmal zur fit-Zeit keine fehlenden Werte hat, hat das Merkmal keinen binären Indikator, und die zur transform-Zeit durchgeführte Imputation wird nicht umgekehrt.

Hinzugefügt in Version 0.24.

Parameter:
X{ndarray, sparse matrix} der Form (n_samples, n_features + n_features_missing_indicator)

Die imputierten Daten, die in die ursprünglichen Daten zurückverwandelt werden sollen. Sie muss eine erweiterte Matrix aus imputierten Daten und der fehlenden Indikatormaske sein.

Gibt zurück:
X_originalndarray von der Form (n_samples, n_features)

Das ursprüngliche X mit fehlenden Werten, wie es vor der Imputation war.

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]#

Imputiert alle fehlenden Werte in X.

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

Die Eingabedaten, die vervollständigt werden sollen.

Gibt zurück:
X_imputed{ndarray, sparse matrix} der Form (n_samples, n_features_out)

X mit imputierten Werten.