Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Umgang mit Fehlenden Werten | Datenvorverarbeitung mit Scikit-Learn
ML-Einführung Mit Scikit-Learn

bookUmgang mit Fehlenden Werten

Nur eine begrenzte Anzahl von Machine-Learning-Modellen kann mit fehlenden Werten umgehen, daher muss das Datenset überprüft werden, um sicherzustellen, dass keine Lücken verbleiben. Falls fehlende Werte vorhanden sind, können diese auf zwei Arten behandelt werden:

  • Entfernen von Zeilen, die fehlende Werte enthalten;
  • Ausfüllen leerer Zellen mit Ersatzwerten, ein Vorgang, der als Imputation bezeichnet wird.

Fehlende Werte identifizieren

Um allgemeine Informationen über das Datenset auszugeben und auf fehlende Werte zu prüfen, kann die Methode .info() eines DataFrames verwendet werden.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Der Datensatz umfasst 344 Einträge, aber die Spalten 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' und 'sex' enthalten jeweils weniger als 344 Nicht-Null-Werte, was auf das Vorhandensein fehlender Daten hinweist.

Note
Hinweis

Null ist eine weitere Bezeichnung für fehlende Werte.

Um die Anzahl der fehlenden Werte in jeder Spalte zu ermitteln, die Methode .isna() anwenden und anschließend .sum() verwenden.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Zeilen mit fehlenden Werten können angezeigt werden mit: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Entfernen von Zeilen

Die erste und letzte Zeile enthalten nur die Zielvariable ('species') und den Wert für 'island' und bieten zu wenig Informationen, um nützlich zu sein. Diese Zeilen können entfernt werden, indem nur diejenigen mit weniger als zwei NaN-Werten beibehalten und erneut df zugewiesen werden.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Im Gegensatz dazu enthalten die verbleibenden Zeilen nützliche Informationen, wobei NaN-Werte nur in der Spalte 'sex' auftreten. Anstatt diese Zeilen zu entfernen, können die fehlenden Werte imputiert werden. Ein gängiger Ansatz ist die Verwendung des SimpleImputer-Transformers, der im nächsten Kapitel behandelt wird.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

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 3.13

bookUmgang mit Fehlenden Werten

Swipe um das Menü anzuzeigen

Nur eine begrenzte Anzahl von Machine-Learning-Modellen kann mit fehlenden Werten umgehen, daher muss das Datenset überprüft werden, um sicherzustellen, dass keine Lücken verbleiben. Falls fehlende Werte vorhanden sind, können diese auf zwei Arten behandelt werden:

  • Entfernen von Zeilen, die fehlende Werte enthalten;
  • Ausfüllen leerer Zellen mit Ersatzwerten, ein Vorgang, der als Imputation bezeichnet wird.

Fehlende Werte identifizieren

Um allgemeine Informationen über das Datenset auszugeben und auf fehlende Werte zu prüfen, kann die Methode .info() eines DataFrames verwendet werden.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Der Datensatz umfasst 344 Einträge, aber die Spalten 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' und 'sex' enthalten jeweils weniger als 344 Nicht-Null-Werte, was auf das Vorhandensein fehlender Daten hinweist.

Note
Hinweis

Null ist eine weitere Bezeichnung für fehlende Werte.

Um die Anzahl der fehlenden Werte in jeder Spalte zu ermitteln, die Methode .isna() anwenden und anschließend .sum() verwenden.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Zeilen mit fehlenden Werten können angezeigt werden mit: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Entfernen von Zeilen

Die erste und letzte Zeile enthalten nur die Zielvariable ('species') und den Wert für 'island' und bieten zu wenig Informationen, um nützlich zu sein. Diese Zeilen können entfernt werden, indem nur diejenigen mit weniger als zwei NaN-Werten beibehalten und erneut df zugewiesen werden.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Im Gegensatz dazu enthalten die verbleibenden Zeilen nützliche Informationen, wobei NaN-Werte nur in der Spalte 'sex' auftreten. Anstatt diese Zeilen zu entfernen, können die fehlenden Werte imputiert werden. Ein gängiger Ansatz ist die Verwendung des SimpleImputer-Transformers, der im nächsten Kapitel behandelt wird.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt