Determina il numero ottimale di cluster
Qui userai il metodo del gomito (elbow criterion) per individuare il numero ottimale di cluster, ovvero il punto in cui la diminuzione della somma degli errori al quadrato diventa marginale. È un passaggio importante per ottenere una stima numerica di riferimento da cui iniziare a fare test. Itererai su più valori di k e lancerai un algoritmo KMeans per ciascuno, quindi traccerai gli errori rispetto a ogni k per identificare il "gomito", dove la riduzione degli errori rallenta.
Il modulo KMeans è caricato da sklearn.cluster, la libreria seaborn è caricata come sns e il modulo matplotlib.pyplot è caricato come plt. Inoltre, l'insieme di dati scalato è caricato come wholesale_scaled_df in un DataFrame di pandas.
Questo esercizio fa parte del corso
Machine Learning per il marketing con Python
Istruzioni dell'esercizio
- Crea un dizionario
ssevuoto. - Esegui il fit di un algoritmo
KMeanssu valori di k tra 1 e 11 e salva gli errori nel dizionariosse. - Aggiungi il title al grafico.
- Crea uno scatter plot con le chiavi sull'asse X e i valori sull'asse Y e visualizza il grafico.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create empty sse dictionary
sse = {}
# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
kmeans = ___(n_clusters=___, random_state=333)
kmeans.___(wholesale_scaled_df)
sse[k] = kmeans.inertia_
# Add the title to the plot
plt.___('Elbow criterion method chart')
# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()