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
Oefeninstructies
- Print de minimumwaarde van
sum_donationsen controleer dat deze minstens 0 is. Print daarna de maximumwaarde vansum_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(____["____"].____())