Inizia subitoInizia gratis

Gestire gli outlier

Nell'ultimo esercizio hai visto come visualizzare gli outlier possa tornare utile in un colloquio di machine learning. Un altro modo pratico per gestirli è calcolare lo Z-score, che definisce come outlier i valori approssimativamente a +/-3 deviazioni standard dalla media.

In questo esercizio userai il modulo scipy.stats per calcolare lo Z-score con la funzione stats.zscore() e applicherai la funzione mstats.winsorize() per sostituire gli outlier con la tecnica chiamata Winsorizing.

Ricorda dalla video-lezione che i punti al di sopra e/o al di sotto di 1,5 volte l'IQR vanno sospettati come possibili outlier. Per l’ultimo passaggio di questo esercizio, quel valore è 2120.

I pacchetti rilevanti sono già stati importati e le colonne numeriche e categoriali di loan_data sono state sottoselezionate e salvate rispettivamente come numeric_cols e categoric_cols.

Machine learning pipeline

Questo esercizio fa parte del corso

Esercitarsi con le domande di colloquio di Machine Learning in Python

Visualizza corso

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Print: before dropping
print(numeric_cols.mean())
print(numeric_cols.median())
print(numeric_cols.max())

# Create index of rows to keep
idx = (np.____(stats.____(____)) < 3).all(axis=1)

# Concatenate numeric and categoric subsets
ld_out_drop = pd.concat([numeric_cols.loc[____], categoric_cols.loc[____]], axis=1)

# Print: after dropping
print(ld_out_drop.mean())
print(ld_out_drop.median())
print(ld_out_drop.max())
Modifica ed esegui il codice