Gestionează valorile extreme prin winzorizare
Ai la dispoziție un basetable cu două variabile: "sum\_donations" și "donor\_id". "sum_donations poate conține valori extreme atunci când donatorii au contribuit cu sume excepționale. Prin urmare, vrei să winzorizezi această variabilă astfel încât cele mai mari 5% valori să fie înlocuite cu valoarea percentilei superioare de 5%.
Acest exercițiu face parte din cursul
Analiză predictivă intermediară în Python
Instrucțiuni pentru exercițiu
- Afișează valoarea minimă a
sum_donationsși verifică că este cel puțin 0. Apoi afișează valoarea maximă asum_donations. - Completează percentila corespunzătoare pentru limita inferioară. Deoarece toate valorile mai mari decât 0 sunt realiste și apar frecvent, nu este necesar să înlocuiești valorile de sub percentila limitei inferioare.
- Creează o nouă variabilă "sum_donations_winsorized" care să fie versiunea winzorizată a variabilei "sum_donations".
- Afișează valoarea maximă a
sum_donations_winsorized.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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(____["____"].____())