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 zum Auffüllen 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_value
angegeben wird.
Der Parameter missing_values
definiert, welche Werte als fehlend behandelt werden. Standardmäßig ist dies NaN
, aber in einigen Datensätzen kann es sich um einen leeren String ''
oder einen anderen Platzhalter handeln.
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! Wir haben das Problem der fehlenden Werte in unserem Datensatz gelöst. Wir haben die Zeilen mit mehr als einem Nullwert entfernt und die Spalte 'sex'
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 zum Auffüllen 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_value
angegeben wird.
Der Parameter missing_values
definiert, welche Werte als fehlend behandelt werden. Standardmäßig ist dies NaN
, aber in einigen Datensätzen kann es sich um einen leeren String ''
oder einen anderen Platzhalter handeln.
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! Wir haben das Problem der fehlenden Werte in unserem Datensatz gelöst. Wir haben die Zeilen mit mehr als einem Nullwert entfernt und die Spalte 'sex'
mit dem häufigsten Wert – MALE
– imputiert.
Danke für Ihr Feedback!
Awesome!
Completion rate improved to 3.13single