CommencerCommencer gratuitement

Suppression statistique des valeurs aberrantes

Supprimer les N % plus élevés de vos données est utile pour éliminer des points très aberrants, mais l’inconvénient est que vous retirez toujours la même proportion de points, même si les données sont correctes. Une approche alternative couramment utilisée consiste à supprimer les données situées à plus de trois écarts types de la moyenne. Pour cela, calculez d’abord la moyenne et l’écart type de la colonne concernée afin de déterminer les bornes supérieure et inférieure, puis appliquez ces bornes comme masque au DataFrame. Cette méthode garantit que seules les données réellement différentes du reste sont supprimées et qu’elle retirera moins de points si les données sont resserrées.

Cet exercice fait partie du cours

Feature engineering pour le Machine Learning en Python

Afficher le cours

Instructions

  • Calculez l’écart type et la moyenne de la colonne ConvertedSalary de so_numeric_df.
  • Calculez les bornes supérieure et inférieure à trois écarts types de la moyenne, dans les deux directions.
  • Réduisez le DataFrame so_numeric_df pour conserver toutes les lignes où ConvertedSalary se situe entre les bornes lower et upper.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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