IniziaInizia gratis

Rimozione statistica degli outlier

Sebbene rimuovere la percentuale superiore N% dei tuoi dati sia utile per assicurarsi di eliminare punti molto spurii, ha lo svantaggio di togliere sempre la stessa proporzione di punti, anche quando i dati sono corretti. Un approccio alternativo molto usato è rimuovere i dati che si trovano a più di tre deviazioni standard dalla media. Puoi implementarlo calcolando prima la media e la deviazione standard della colonna rilevante per trovare i limiti superiore e inferiore, e applicando questi limiti come maschera al DataFrame. Questo metodo garantisce che vengano rimossi solo i dati davvero diversi dal resto e rimuoverà meno punti se i dati sono più concentrati.

Questo esercizio fa parte del corso

Feature Engineering per il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola la deviazione standard e la media della colonna ConvertedSalary di so_numeric_df.
  • Calcola i limiti superiore e inferiore come tre deviazioni standard dalla media in entrambe le direzioni.
  • Riduci il DataFrame so_numeric_df per mantenere tutte le righe in cui ConvertedSalary rientra tra i limiti lower e upper.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Find the mean and standard dev
std = so_numeric_df['ConvertedSalary'].____
mean = so_numeric_df['ConvertedSalary'].____

# Calculate the cutoff
cut_off = std * 3
lower, upper = mean - cut_off, ____

# Trim the outliers
trimmed_df = so_numeric_df[(so_numeric_df['ConvertedSalary'] < ____) \ 
                           & (so_numeric_df['ConvertedSalary'] > ____)]

# The trimmed box plot
trimmed_df[['ConvertedSalary']].boxplot()
plt.show()
Modifica ed esegui il codice