LoslegenKostenlos loslegen

Statistisches Entfernen von Ausreißern

Das Entfernen der obersten N % deiner Daten ist zwar hilfreich, um sehr ungewöhnliche Punkte loszuwerden, hat aber den Nachteil, dass immer der gleiche Anteil an Punkten entfernt wird – selbst wenn die Daten korrekt sind. Eine häufig genutzte Alternative ist, Daten zu entfernen, die mehr als drei Standardabweichungen vom Mittelwert entfernt liegen. Das kannst du umsetzen, indem du zunächst Mittelwert und Standardabweichung der relevanten Spalte berechnest, daraus die oberen und unteren Grenzen bestimmst und diese Grenzen als Maske auf den DataFrame anwendest. Diese Methode stellt sicher, dass nur wirklich vom Rest abweichende Daten entfernt werden und entfernt weniger Punkte, wenn die Daten eng beieinander liegen.

Diese Übung ist Teil des Kurses

Feature Engineering für Machine Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Berechne die Standardabweichung und den Mittelwert der Spalte ConvertedSalary von so_numeric_df.
  • Berechne die oberen und unteren Grenzen als drei Standardabweichungen Abstand vom Mittelwert in beide Richtungen.
  • Kürze den DataFrame so_numeric_df, sodass alle Zeilen erhalten bleiben, in denen ConvertedSalary innerhalb der Grenzen lower und upper liegt.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Find the mean and standard dev
std = so_numeric_df['ConvertedSalary'].____
mean = so_numeric_df['ConvertedSalary'].____

# Calculate the cutoff
cut_off = std * 3
lower, upper = mean - cut_off, ____

# Trim the outliers
trimmed_df = so_numeric_df[(so_numeric_df['ConvertedSalary'] < ____) \ 
                           & (so_numeric_df['ConvertedSalary'] > ____)]

# The trimmed box plot
trimmed_df[['ConvertedSalary']].boxplot()
plt.show()
Code bearbeiten und ausführen