Mettere in pratica la standardizzazione
È rischioso usare KNN alla cieca su distribuzioni sconosciute. Le sue prestazioni peggiorano molto quando le distribuzioni delle feature non sono sulla stessa scala. Feature non scalate falsano i calcoli delle distanze e quindi restituiscono punteggi di anomalia poco realistici.
Una tecnica comune per contrastare questo problema è la standardizzazione, che consiste nel sottrarre la media da una feature e dividerla per la deviazione standard. In questo modo la feature avrà media 0 e varianza 1.
Esercitati con la standardizzazione sul dataset females, che è già stato caricato per te.
Questo esercizio fa parte del corso
Rilevamento delle anomalie in Python
Istruzioni dell'esercizio
- Crea un'istanza di
StandardScaler()e salvala comess. - Estrai gli array di feature e target in
Xey. Il target è la colonnaweightkg. - Esegui il fit di
StandardScaler()su X e trasformala simultaneamente. - Ripeti il processo precedente ma preservando i nomi delle colonne del DataFrame
X.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
from sklearn.preprocessing import StandardScaler
# Initialize a StandardScaler
ss = ____
# Extract feature and target arrays
X = ____
y = ____
# Fit/transform X
X_transformed = ____
# Fit/transform X but preserve the column names
X.____ = ____