CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Calculez l'écart-type et la moyenne de la colonne ConvertedSalary de so_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_df pour ne conserver que les lignes où ConvertedSalary se situe entre les bornes lower et upper.

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()
Modifier et exécuter le code