IniziaInizia gratis

Gestire gli outlier con la winsorizzazione

Ti viene fornita una basetable con due variabili: "sum\_donations" e "donor\_id". "sum_donations può contenere outlier quando alcuni donatori hanno versato importi eccezionali. Per questo motivo vuoi applicare la winsorizzazione a questa variabile in modo che il 5% degli importi più alti venga sostituito con il valore del percentile superiore al 5%.

Questo esercizio fa parte del corso

Analisi predittiva intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Stampa il valore minimo di sum_donations e verifica che sia almeno 0. Poi stampa il valore massimo di sum_donations.
  • Compila il percentile corretto per il limite inferiore. Poiché tutti i valori maggiori di 0 sono realistici e ricorrono spesso, non è necessario sostituire i valori inferiori al valore del percentile del limite inferiore.
  • Crea una nuova variabile "sum_donations_winsorized" che sia la versione winsorizzata della variabile "sum_donations".
  • Stampa il valore massimo di sum_donations_winsorized.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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(____["____"].____())
Modifica ed esegui il codice