Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Umgang mit Fehlenden Werten | Grundlagen der Datenbereinigung
Datenvorverarbeitung und Feature Engineering

bookUmgang mit Fehlenden Werten

Fehlende Daten sind in realen Datensätzen häufig und können Ihre Analyse oder Modelle beeinflussen. Die drei Haupttypen fehlender Daten sind:

  • Missing Completely at Random (MCAR): Das Fehlen steht in keinem Zusammenhang mit den Daten;
  • Missing at Random (MAR): Das Fehlen steht nur mit beobachteten Daten in Zusammenhang;
  • Missing Not at Random (MNAR): Das Fehlen hängt von den fehlenden Werten selbst ab.

Die Wahl der richtigen Strategie zum Umgang mit fehlenden Werten hängt vom Typ des Fehlens ab. Eine unsachgemäße Behandlung kann zu verzerrten Ergebnissen, schwächerer Analyse und unzuverlässigen Vorhersagen führen.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definition

Imputation ist der Prozess, fehlende Werte durch Ersatzwerte wie den Mittelwert, Median oder Modus usw. zu ersetzen. Imputation hilft, die Struktur und Größe des Datensatzes für weitere Analysen oder Modellierungen zu erhalten.

Arten von Imputationsmethoden

Verschiedene Datentypen erfordern spezifische Imputationsstrategien, um fehlende Werte effektiv zu behandeln:

  • Mittelwert-Imputation: Für numerische Merkmale; ersetzt fehlende Werte durch den Durchschnitt der beobachteten Werte;
  • Median-Imputation: Für numerische Merkmale, insbesondere bei schiefen Daten; ersetzt fehlende Werte durch den Median;
  • Modus-Imputation: Für kategoriale Merkmale; ersetzt fehlende Werte durch die am häufigsten vorkommende Kategorie oder den häufigsten Wert;
  • Konstantwert-Imputation: Für numerische und kategoriale Merkmale; füllt fehlende Werte mit einem festen Wert wie 0, -1 oder 'unknown';
  • Vorwärtsauffüllung (ffill): Für Zeitreihen oder geordnete Daten; propagiert die letzte gültige Beobachtung nach vorne, um Lücken zu füllen;
  • Rückwärtsauffüllung (bfill): Für Zeitreihen oder geordnete Daten; verwendet die nächste gültige Beobachtung, um Lücken rückwärts zu füllen;
  • Interpolation: Für numerische Merkmale, insbesondere in Zeitreihen; schätzt fehlende Werte basierend auf benachbarten Datenpunkten mithilfe linearer oder anderer mathematischer Methoden.

Wählen Sie die Imputationsmethode, die am besten zu Ihrem Datentyp und dem Kontext Ihrer Analyse passt.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Hinweis

Das Entfernen fehlender Werte ist schnell und einfach, kann jedoch zum Verlust wertvoller Daten führen, insbesondere wenn das Fehlen weit verbreitet ist. Imputation hilft, mehr Daten zu erhalten, kann jedoch Verzerrungen einführen, wenn sie nicht sorgfältig gewählt wird. Berücksichtigen Sie das Ausmaß und das Muster der fehlenden Werte sowie die Bedeutung des Merkmals, bevor Sie entscheiden, ob Sie entfernen oder imputieren.

question mark

Welches der folgenden Szenarien eignet sich am besten dafür, Zeilen mit fehlenden Werten zu entfernen, anstatt sie zu imputieren?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

Awesome!

Completion rate improved to 8.33

bookUmgang mit Fehlenden Werten

Swipe um das Menü anzuzeigen

Fehlende Daten sind in realen Datensätzen häufig und können Ihre Analyse oder Modelle beeinflussen. Die drei Haupttypen fehlender Daten sind:

  • Missing Completely at Random (MCAR): Das Fehlen steht in keinem Zusammenhang mit den Daten;
  • Missing at Random (MAR): Das Fehlen steht nur mit beobachteten Daten in Zusammenhang;
  • Missing Not at Random (MNAR): Das Fehlen hängt von den fehlenden Werten selbst ab.

Die Wahl der richtigen Strategie zum Umgang mit fehlenden Werten hängt vom Typ des Fehlens ab. Eine unsachgemäße Behandlung kann zu verzerrten Ergebnissen, schwächerer Analyse und unzuverlässigen Vorhersagen führen.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definition

Imputation ist der Prozess, fehlende Werte durch Ersatzwerte wie den Mittelwert, Median oder Modus usw. zu ersetzen. Imputation hilft, die Struktur und Größe des Datensatzes für weitere Analysen oder Modellierungen zu erhalten.

Arten von Imputationsmethoden

Verschiedene Datentypen erfordern spezifische Imputationsstrategien, um fehlende Werte effektiv zu behandeln:

  • Mittelwert-Imputation: Für numerische Merkmale; ersetzt fehlende Werte durch den Durchschnitt der beobachteten Werte;
  • Median-Imputation: Für numerische Merkmale, insbesondere bei schiefen Daten; ersetzt fehlende Werte durch den Median;
  • Modus-Imputation: Für kategoriale Merkmale; ersetzt fehlende Werte durch die am häufigsten vorkommende Kategorie oder den häufigsten Wert;
  • Konstantwert-Imputation: Für numerische und kategoriale Merkmale; füllt fehlende Werte mit einem festen Wert wie 0, -1 oder 'unknown';
  • Vorwärtsauffüllung (ffill): Für Zeitreihen oder geordnete Daten; propagiert die letzte gültige Beobachtung nach vorne, um Lücken zu füllen;
  • Rückwärtsauffüllung (bfill): Für Zeitreihen oder geordnete Daten; verwendet die nächste gültige Beobachtung, um Lücken rückwärts zu füllen;
  • Interpolation: Für numerische Merkmale, insbesondere in Zeitreihen; schätzt fehlende Werte basierend auf benachbarten Datenpunkten mithilfe linearer oder anderer mathematischer Methoden.

Wählen Sie die Imputationsmethode, die am besten zu Ihrem Datentyp und dem Kontext Ihrer Analyse passt.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Hinweis

Das Entfernen fehlender Werte ist schnell und einfach, kann jedoch zum Verlust wertvoller Daten führen, insbesondere wenn das Fehlen weit verbreitet ist. Imputation hilft, mehr Daten zu erhalten, kann jedoch Verzerrungen einführen, wenn sie nicht sorgfältig gewählt wird. Berücksichtigen Sie das Ausmaß und das Muster der fehlenden Werte sowie die Bedeutung des Merkmals, bevor Sie entscheiden, ob Sie entfernen oder imputieren.

question mark

Welches der folgenden Szenarien eignet sich am besten dafür, Zeilen mit fehlenden Werten zu entfernen, anstatt sie zu imputieren?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 2
some-alt