Herausforderung: Fehlende Werte Imputieren
Die Klasse SimpleImputer ist dafür konzipiert, fehlende Daten zu behandeln, indem sie fehlende Werte automatisch ersetzt.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Bei der Initialisierung kann sie auch durch Setzen ihrer Parameter angepasst werden:
missing_value: Gibt den Platzhalter für fehlende Werte an. Standardmäßig ist diesnp.nan;strategy: Die Strategie, die zum Ersetzen fehlender Werte verwendet wird.'mean'ist der Standardwert;fill_value: Gibt den Wert an, der beim Ersetzen fehlender Werte verwendet wird, wenn diestrategy'constant'ist. Standardmäßig ist diesNone.
Als Transformer verfügt sie über die folgenden Methoden:
Es ist außerdem notwendig zu entscheiden, welche Werte für die Imputation verwendet werden sollen.
Ein gängiger Ansatz ist das Ersetzen fehlender numerischer Werte durch den Mittelwert und fehlender kategorialer Werte durch den Modus (häufigster Wert), da dies die Datenverteilung nur minimal verzerrt.
Die Auswahl wird durch den Parameter strategy gesteuert:
strategy='mean': Imputation mit dem Mittelwert jeder Spalte;strategy='median': Imputation mit dem Median jeder Spalte;strategy='most_frequent': Imputation mit dem Modus jeder Spalte;strategy='constant': Imputation mit einem konstanten Wert, der im Parameterfill_valueangegeben wird.
Der Parameter missing_values definiert, welche Werte als fehlend behandelt werden. Standardmäßig ist dies NaN, aber in manchen Datensätzen kann es auch ein leerer String '' oder ein anderer Platzhalter sein.
Der SimpleImputer und viele andere Transformer funktionieren nur mit DataFrames, nicht mit pandas Series. Die Auswahl einer einzelnen Spalte aus einem DataFrame mit df['column'] gibt eine Series zurück. Um dies zu vermeiden, können Sie doppelte Klammern df[['column']] verwenden, um sicherzustellen, dass ein DataFrame zurückgegeben wird:
imputer.fit_transform(df[['column']])
Wenn die Methode .fit_transform() von SimpleImputer angewendet wird, gibt sie ein 2D-Array zurück. Das Zuweisen von Werten zu einer einzelnen Spalte in einem pandas DataFrame erfordert jedoch ein 1D-Array (oder eine Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Die Methode .ravel() kann verwendet werden, um das Array vor der Zuweisung in 1D zu konvertieren:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Dies stellt sicher, dass die imputierten Werte korrekt formatiert und in der DataFrame-Spalte gespeichert werden.
Swipe to start coding
Imputieren der fehlenden Werte in der Spalte 'sex' mit SimpleImputer. Da es sich um eine kategoriale Spalte handelt, sollen NaN-Werte durch den häufigsten Wert ersetzt werden.
- Import des
SimpleImputer. - Erstellen eines
SimpleImputer-Objekts mit der gewünschtenstrategy. - Imputieren der fehlenden Werte in der Spalte
'sex'mit demimputer-Objekt.
Lösung
Sehr gut! Das Problem der fehlenden Werte im Datensatz wurde gelöst. Die Zeilen mit mehr als einem Nullwert wurden entfernt und die Spalte 'sex' wurde mit dem häufigsten Wert – MALE – imputiert.
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.13
Herausforderung: Fehlende Werte Imputieren
Swipe um das Menü anzuzeigen
Die Klasse SimpleImputer ist dafür konzipiert, fehlende Daten zu behandeln, indem sie fehlende Werte automatisch ersetzt.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Bei der Initialisierung kann sie auch durch Setzen ihrer Parameter angepasst werden:
missing_value: Gibt den Platzhalter für fehlende Werte an. Standardmäßig ist diesnp.nan;strategy: Die Strategie, die zum Ersetzen fehlender Werte verwendet wird.'mean'ist der Standardwert;fill_value: Gibt den Wert an, der beim Ersetzen fehlender Werte verwendet wird, wenn diestrategy'constant'ist. Standardmäßig ist diesNone.
Als Transformer verfügt sie über die folgenden Methoden:
Es ist außerdem notwendig zu entscheiden, welche Werte für die Imputation verwendet werden sollen.
Ein gängiger Ansatz ist das Ersetzen fehlender numerischer Werte durch den Mittelwert und fehlender kategorialer Werte durch den Modus (häufigster Wert), da dies die Datenverteilung nur minimal verzerrt.
Die Auswahl wird durch den Parameter strategy gesteuert:
strategy='mean': Imputation mit dem Mittelwert jeder Spalte;strategy='median': Imputation mit dem Median jeder Spalte;strategy='most_frequent': Imputation mit dem Modus jeder Spalte;strategy='constant': Imputation mit einem konstanten Wert, der im Parameterfill_valueangegeben wird.
Der Parameter missing_values definiert, welche Werte als fehlend behandelt werden. Standardmäßig ist dies NaN, aber in manchen Datensätzen kann es auch ein leerer String '' oder ein anderer Platzhalter sein.
Der SimpleImputer und viele andere Transformer funktionieren nur mit DataFrames, nicht mit pandas Series. Die Auswahl einer einzelnen Spalte aus einem DataFrame mit df['column'] gibt eine Series zurück. Um dies zu vermeiden, können Sie doppelte Klammern df[['column']] verwenden, um sicherzustellen, dass ein DataFrame zurückgegeben wird:
imputer.fit_transform(df[['column']])
Wenn die Methode .fit_transform() von SimpleImputer angewendet wird, gibt sie ein 2D-Array zurück. Das Zuweisen von Werten zu einer einzelnen Spalte in einem pandas DataFrame erfordert jedoch ein 1D-Array (oder eine Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Die Methode .ravel() kann verwendet werden, um das Array vor der Zuweisung in 1D zu konvertieren:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Dies stellt sicher, dass die imputierten Werte korrekt formatiert und in der DataFrame-Spalte gespeichert werden.
Swipe to start coding
Imputieren der fehlenden Werte in der Spalte 'sex' mit SimpleImputer. Da es sich um eine kategoriale Spalte handelt, sollen NaN-Werte durch den häufigsten Wert ersetzt werden.
- Import des
SimpleImputer. - Erstellen eines
SimpleImputer-Objekts mit der gewünschtenstrategy. - Imputieren der fehlenden Werte in der Spalte
'sex'mit demimputer-Objekt.
Lösung
Sehr gut! Das Problem der fehlenden Werte im Datensatz wurde gelöst. Die Zeilen mit mehr als einem Nullwert wurden entfernt und die Spalte 'sex' wurde mit dem häufigsten Wert – MALE – imputiert.
Danke für Ihr Feedback!
single