Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Fehlende Werte Imputieren | Datenvorverarbeitung mit Scikit-Learn
Einführung in das Maschinelle Lernen mit Python

bookHerausforderung: Fehlende Werte Imputieren

Die Klasse SimpleImputer ersetzt fehlende Werte automatisch.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Wichtige Parameter:

  • missing_value: Platzhalter, der als fehlend behandelt wird (Standard: np.nan);
  • strategy: Methode zum Auffüllen der Lücken (Standard: 'mean');
  • fill_value: Wird verwendet, wenn strategy='constant'.

Als Transformer stellt sie Methoden wie .fit(), .transform() und .fit_transform() bereit.

Die Auswahl der Methode zum Auffüllen fehlender Daten ist entscheidend. Ein gängiger Ansatz:

  • numerische Merkmale → Mittelwert;
  • kategoriale Merkmale → häufigster Wert.

Optionen für strategy:

  • 'mean' — Auffüllen mit Mittelwert;
  • 'median' — Auffüllen mit Median;
  • 'most_frequent' — Auffüllen mit Modus;
  • 'constant' — Auffüllen mit einem angegebenen Wert über fill_value.

missing_values definiert, welche Werte als fehlend betrachtet werden (Standard: NaN, kann aber auch '' oder ein anderes Zeichen sein).

Note
Hinweis

SimpleImputer erwartet ein DataFrame, keine Series. Ein DataFrame mit nur einer Spalte muss mit doppelten eckigen Klammern ausgewählt werden:

imputer.fit_transform(df[['column']])

fit_transform() gibt ein 2D-Array zurück, aber das Zurückschreiben in eine DataFrame-Spalte erfordert ein 1D-Array. Das Ergebnis mit .ravel() flach machen:

df['column'] = imputer.fit_transform(df[['column']]).ravel()
Aufgabe

Swipe to start coding

Sie erhalten ein DataFrame df mit Pinguindaten. Die Spalte 'sex' enthält fehlende Werte. Füllen Sie diese mit der häufigsten Kategorie.

  1. Importieren Sie SimpleImputer;
  2. Erstellen Sie einen Imputer mit strategy='most_frequent';
  3. Wenden Sie ihn auf df[['sex']] an;
  4. Weisen Sie die imputierten Werte wieder df['sex'] zu.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

Awesome!

Completion rate improved to 3.13

bookHerausforderung: Fehlende Werte Imputieren

Swipe um das Menü anzuzeigen

Die Klasse SimpleImputer ersetzt fehlende Werte automatisch.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Wichtige Parameter:

  • missing_value: Platzhalter, der als fehlend behandelt wird (Standard: np.nan);
  • strategy: Methode zum Auffüllen der Lücken (Standard: 'mean');
  • fill_value: Wird verwendet, wenn strategy='constant'.

Als Transformer stellt sie Methoden wie .fit(), .transform() und .fit_transform() bereit.

Die Auswahl der Methode zum Auffüllen fehlender Daten ist entscheidend. Ein gängiger Ansatz:

  • numerische Merkmale → Mittelwert;
  • kategoriale Merkmale → häufigster Wert.

Optionen für strategy:

  • 'mean' — Auffüllen mit Mittelwert;
  • 'median' — Auffüllen mit Median;
  • 'most_frequent' — Auffüllen mit Modus;
  • 'constant' — Auffüllen mit einem angegebenen Wert über fill_value.

missing_values definiert, welche Werte als fehlend betrachtet werden (Standard: NaN, kann aber auch '' oder ein anderes Zeichen sein).

Note
Hinweis

SimpleImputer erwartet ein DataFrame, keine Series. Ein DataFrame mit nur einer Spalte muss mit doppelten eckigen Klammern ausgewählt werden:

imputer.fit_transform(df[['column']])

fit_transform() gibt ein 2D-Array zurück, aber das Zurückschreiben in eine DataFrame-Spalte erfordert ein 1D-Array. Das Ergebnis mit .ravel() flach machen:

df['column'] = imputer.fit_transform(df[['column']]).ravel()
Aufgabe

Swipe to start coding

Sie erhalten ein DataFrame df mit Pinguindaten. Die Spalte 'sex' enthält fehlende Werte. Füllen Sie diese mit der häufigsten Kategorie.

  1. Importieren Sie SimpleImputer;
  2. Erstellen Sie einen Imputer mit strategy='most_frequent';
  3. Wenden Sie ihn auf df[['sex']] an;
  4. Weisen Sie die imputierten Werte wieder df['sex'] zu.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
single

single

some-alt