Suppression statistique des valeurs aberrantes
Retirer le N % supérieur de vos données est pratique pour écarter des points très douteux, mais l'inconvénient est de toujours enlever la même proportion de points, même si les données sont valides. Une approche courante consiste plutôt à retirer les données situées à plus de trois écarts-types de la moyenne. Pour ce faire, calculez d'abord la moyenne et l'écart-type de la colonne pertinente afin de déterminer les bornes supérieure et inférieure, puis appliquez ces bornes comme masque au DataFrame. Cette méthode permet d'écarter uniquement les données réellement différentes du reste et retirera moins de points si les données sont rapprochées.
Cette activité fait partie du cours
Ingénierie des caractéristiques pour le Machine Learning en Python
Instructions de l’exercice
- Calculez l'écart-type et la moyenne de la colonne
ConvertedSalarydeso_numeric_df. - Calculez les bornes supérieure et inférieure situées à trois écarts-types de la moyenne dans les deux directions.
- Réduisez le DataFrame
so_numeric_dfpour ne conserver que les lignes oùConvertedSalaryse situe entre les bornesloweretupper.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()