Ridimensionare i dati
Per gli algoritmi di ML che usano metriche basate sulla distanza, è cruciale ridimensionare sempre i dati, perché feature su scale diverse distorcono i risultati. K-means usa la distanza euclidea per calcolare la distanza dai centroidi dei cluster, quindi prima di implementare l'algoritmo devi scalare i dati. Facciamolo subito.
Hai a disposizione il dataframe df dall'esercizio precedente, con una piccola preparazione dei dati già fatta così che sia pronto per l'uso con sklearn. Le etichette di frode sono memorizzate separatamente in labels, che potrai usare per controllare i risultati in seguito. numpy è stato importato come np.
Questo esercizio fa parte del corso
Rilevamento delle frodi in Python
Istruzioni dell'esercizio
- Importa
MinMaxScaler. - Trasforma il dataframe
dfin un array numpyXprendendo solo i valori didfe assicurati che siano tutti di tipofloat. - Applica lo scaler definito a
Xper ottenere i valori scalatiX_scaled, in modo da forzare tutte le feature su una scala 0-1.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import the scaler
from sklearn.preprocessing import ____
# Take the float values of df for X
X = df.values.astype(np.____)
# Define the scaler and apply to the data
scaler = ____()
X_scaled = scaler.____(X)