Outliers verwijderen op basis van percentage
Een manier om te zorgen dat een klein deel van de data geen buitensporig negatief effect heeft, is door een bepaald percentage van de grootste en/of kleinste waarden in de kolom te verwijderen. Dit doe je door het relevante kwantiel te bepalen en de data daarmee te trimmen met een mask. Deze aanpak is vooral handig als je vermoedt dat de hoogste waarden in je gegevensset beter vermeden kunnen worden. Houd er bij deze aanpak wel rekening mee dat dit, zelfs als er geen outliers zijn, nog steeds dezelfde hoogste N procent uit de gegevensset verwijdert.
Deze oefening maakt deel uit van de cursus
Feature engineering voor Machine Learning in Python
Oefeninstructies
- Bepaal het 95e kwantiel van de kolom
ConvertedSalary. - Trim de DataFrame
so_numeric_dfzodat alle rijen behouden blijven waarvoorConvertedSalarykleiner is dan het 95e kwantiel. - Plot het histogram van
so_numeric_df[['ConvertedSalary']]. - Plot het histogram van
trimmed_df[['ConvertedSalary']].
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()