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:
SimpleImputerersetzt den vorherigensklearn.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_valueswerden imputiert. Für Pandas-DataFrames mit nullable Integer-Datentypen mit fehlenden Werten kannmissing_valuesentweder aufnp.nanoderpd.NAgesetzt 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_valueverwendet, um alle Vorkommen von missing_values zu ersetzen. Für Zeichenketten- oder Objektdatentypen mussfill_valueeine Zeichenkette sein. WennNone, dann istfill_value0 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=FalseWenn
Xkeine Gleitkommazahlmatrix ist;Wenn
Xals 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
fitaufgerufen wird, bei Aufruf vontransformin den Ergebnissen zurückgegeben. Der imputierte Wert ist immer0, es sei denn,strategy="constant", in diesem Fall wird stattdessenfill_valueverwendet.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 dertransformwerden Merkmale, dienp.nan-Statistiken entsprechen, verworfen.- indicator_
MissingIndicator Indikator zum Hinzufügen binärer Indikatoren für fehlende Werte.
Nonewennadd_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
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
Siehe auch
IterativeImputerMultivariater Imputer, der Werte schätzt, um fehlende Werte für jedes Merkmal mit fehlenden Werten aus allen anderen zu imputieren.
KNNImputerMultivariater Imputer, der fehlende Merkmale mithilfe von nächsten Stichproben schätzt.
Anmerkungen
Spalten, die bei
fitnur fehlende Werte enthielten, werden beitransformverworfen, 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
IterativeImputeroderKNNImputer.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
Xan.- Parameter:
- X{array-like, sparse matrix}, shape (n_samples, n_features)
Eingabedaten, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie 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
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)[Quelle]#
Holt die Ausgabemerkmale für die Transformation.
- Parameter:
- input_featuresarray-like von str oder None, default=None
Eingabemerkmale.
Wenn
input_featuresNoneist, werdenfeature_names_in_als Merkmalnamen verwendet. Wennfeature_names_in_nicht definiert ist, werden die folgenden Eingabemerkmalsnamen generiert:["x0", "x1", ..., "x(n_features_in_ - 1)"].Wenn
input_featuresein Array-ähnliches Objekt ist, mussinput_featuresmitfeature_names_in_übereinstimmen, wennfeature_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, nachdemSimpleImputermitadd_indicator=Trueinstanziiert wurde.Beachten Sie, dass
inverse_transformnur die Transformation bei Merkmalen umkehren kann, die binäre Indikatoren für fehlende Werte haben. Wenn ein Merkmal zurfit-Zeit keine fehlenden Werte hat, hat das Merkmal keinen binären Indikator, und die zurtransform-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
Xmit 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
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)[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.
Galeriebeispiele#
Fehlende Werte mit Varianten von IterativeImputer imputieren
Fehlende Werte imputieren, bevor ein Schätzer erstellt wird
Permutations-Wichtigkeit vs. Random Forest Merkmals-Wichtigkeit (MDI)