CommencerCommencer gratuitement

Gérer les valeurs aberrantes par winsorisation

On vous fournit une basetable avec deux variables : "sum\_donations" et "donor\_id". "sum_donations peut contenir des valeurs aberrantes lorsque des donateurs ont versé des montants exceptionnels. Vous souhaitez donc winsoriser cette variable de sorte que les 5 % de montants les plus élevés soient remplacés par la valeur du 95e percentile.

Cet exercice fait partie du cours

Analytique prédictive intermédiaire en Python

Afficher le cours

Instructions

  • Affichez la valeur minimale de sum_donations et vérifiez qu’elle est au moins égale à 0. Puis affichez la valeur maximale de sum_donations.
  • Renseignez le percentile approprié pour la borne inférieure. Comme toutes les valeurs supérieures à 0 sont réalistes et fréquentes, il n’est pas nécessaire de remplacer les valeurs inférieures au percentile de la borne inférieure.
  • Créez une nouvelle variable « sum_donations_winsorized » qui est une version winsorisée de la variable « sum_donations ».
  • Affichez la valeur maximale de sum_donations_winsorized.

Exercice interactif pratique

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

from scipy.stats.mstats import winsorize

# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())

# Fill out the lower limit
lower_limit = ____

# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])

# Check maximum sum of donations after winsorization
print(____["____"].____())
Modifier et exécuter le code