Aan de slagGa gratis aan de slag

Ga uitbijters te lijf met winsoriseren

Je krijgt een basetable met twee variabelen: "sum\_donations" en "donor\_id". "sum_donations kan uitbijters bevatten wanneer donoren uitzonderlijke bedragen hebben gedoneerd. Daarom wil je deze variabele winsoriseren zodat de hoogste 5% bedragen worden vervangen door de waarde van het bovenste 5%-percentiel.

Deze oefening maakt deel uit van de cursus

Gevorderde voorspellende analyse in Python

Cursus bekijken

Oefeninstructies

  • Print de minimumwaarde van sum_donations en controleer dat deze minstens 0 is. Print daarna de maximumwaarde van sum_donations.
  • Vul het juiste percentiel voor de ondergrens in. Omdat alle waarden groter dan 0 realistisch zijn en vaak voorkomen, is het niet nodig waarden lager dan de ondergrenspercentielwaarde te vervangen.
  • Maak een nieuwe variabele "sum_donations_winsorized" die een gewinsoriseerde versie is van de variabele "sum_donations".
  • Print de maximumwaarde van sum_donations_winsorized.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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(____["____"].____())
Code bewerken en uitvoeren