Metodo del gomito
Nel precedente esercizio hai implementato MiniBatch K-means con 8 cluster, senza però verificare quale fosse il numero giusto di cluster. Per il nostro primo approccio di fraud detection, è importante scegliere correttamente il numero di cluster, soprattutto quando vuoi usare gli outlier di quei cluster come predizioni di frode. Per decidere quanti cluster utilizzare, applichiamo il metodo del gomito e vediamo qual è il numero ottimale di cluster in base a questo metodo.
X_scaled è di nuovo disponibile e MiniBatchKMeans è stato importato da sklearn.
Questo esercizio fa parte del corso
Rilevamento delle frodi in Python
Istruzioni dell'esercizio
- Definisci l'intervallo tra 1 e 5 cluster.
- Esegui MiniBatch K-means su tutti i cluster nell'intervallo usando una list comprehension.
- Esegui il fit di ciascun modello sui dati scalati e ottieni gli score dai dati scalati.
- Traccia i numeri di cluster e i rispettivi score; l'esecuzione richiederà alcuni secondi.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define the range of clusters to try
clustno = range(____, ____)
# Run MiniBatch Kmeans over the number of clusters
kmeans = [____(n_clusters=i, random_state=0) for ____ in ____]
# Obtain the score for each model
score = [kmeans[i].fit(____).score(____) for i in range(len(kmeans))]
# Plot the models and their respective score
plt.plot(____, ____)
plt.xlabel('Number of Clusters')
plt.ylabel('Score')
plt.title('Elbow Curve')
plt.show()