Ošetření odlehlých hodnot pomocí winsorizace
K dispozici máš basetable se dvěma proměnnými: "sum\_donations" a "donor\_id". Proměnná "sum_donations" může obsahovat odlehlé hodnoty v případech, kdy dárci přispěli výjimečně vysokými částkami. Proto chceš tuto proměnnou winsorizovat tak, aby bylo 5 % nejvyšších hodnot nahrazeno hodnotou horního 5% percentilu.
Toto cvičení je součástí kurzu
Intermediate Predictive Analytics in Python
Pokyny k cvičení
- Vypiš minimální hodnotu
sum_donationsa ověř, že je alespoň 0. Poté vypiš maximální hodnotusum_donations. - Doplň vhodný dolní percentilový limit. Protože všechny hodnoty vyšší než 0 jsou realistické a vyskytují se běžně, není nutné nahrazovat hodnoty pod dolním percentilovým limitem.
- Vytvoř novou proměnnou „sum_donations_winsorized", která bude winsorizovanou verzí proměnné „sum_donations".
- Vypiš maximální hodnotu
sum_donations_winsorized.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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(____["____"].____())