Suppression des valeurs aberrantes basée sur un pourcentage
Une façon de s’assurer qu’une petite partie des données n’a pas un effet excessivement négatif consiste à supprimer un certain pourcentage des valeurs les plus grandes et/ou les plus petites de la colonne. Pour cela, on calcule le quantile pertinent puis on tronque les données à l’aide d’un masque. Cette approche est particulièrement utile si vous pensez que les valeurs les plus élevées de votre jeu de données doivent être écartées. Gardez en tête qu’avec cette méthode, même en l’absence de valeurs aberrantes, vous supprimerez tout de même le même pourcentage supérieur N du jeu de données.
Cet exercice fait partie du cours
Feature engineering pour le Machine Learning en Python
Instructions
- Trouvez le 95e quantile de la colonne
ConvertedSalary. - Tronquez le DataFrame
so_numeric_dfpour conserver toutes les lignes oùConvertedSalaryest inférieur à son 95e quantile. - Tracez l’histogramme de
so_numeric_df[['ConvertedSalary']]. - Tracez l’histogramme de
trimmed_df[['ConvertedSalary']].
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()