Prozentbasierte Ausreißerentfernung
Eine Möglichkeit sicherzustellen, dass ein kleiner Teil der Daten keinen übermäßig negativen Einfluss hat, ist, einen bestimmten Prozentsatz der größten und/oder kleinsten Werte in der Spalte zu entfernen. Das lässt sich erreichen, indem du das entsprechende Quantil bestimmst und die Daten mithilfe einer Maske entsprechend beschneidest. Dieser Ansatz ist besonders nützlich, wenn du befürchtest, dass die höchsten Werte in deinem Datensatz vermieden werden sollten. Wenn du diese Methode nutzt, musst du daran denken, dass auch ohne Ausreißer immer derselbe obere N-Prozentsatz aus dem Datensatz entfernt wird.
Diese Übung ist Teil des Kurses
Feature Engineering für Machine Learning in Python
Anleitung zur Übung
- Ermittle das 95. Quantil der Spalte
ConvertedSalary. - Beschneide das DataFrame
so_numeric_df, sodass alle Zeilen erhalten bleiben, in denenConvertedSalarykleiner als sein 95. Quantil ist. - Zeichne das Histogramm von
so_numeric_df[['ConvertedSalary']]. - Zeichne das Histogramm von
trimmed_df[['ConvertedSalary']].
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Find the 95th quantile
quantile = so_numeric_df['ConvertedSalary'].____(____)
# Trim the outliers
trimmed_df = so_numeric_df[so_numeric_df['ConvertedSalary'] < ____]
# The original histogram
so_numeric_df[['ConvertedSalary']].____()
plt.show()
plt.clf()
# The trimmed histogram
trimmed_df[['ConvertedSalary']].____()
plt.show()