Valutare il clustering dei cereali
Nell'esercizio precedente, dal grafico dell'inerzia hai visto che 3 è un buon numero di cluster per i dati sui cereali. In effetti, i campioni provengono da un mix di 3 varietà diverse: "Kama", "Rosa" e "Canadian". In questo esercizio, raggruppa i campioni in tre cluster e confronta i cluster con le varietà usando una tabella a doppia entrata.
Hai a disposizione l'array samples con i campioni e una lista varieties con la varietà corrispondente a ciascun campione. Pandas (pd) e KMeans sono già stati importati per te.
Questo esercizio fa parte del corso
Apprendimento non supervisionato in Python
Istruzioni dell'esercizio
- Crea un modello
KMeanschiamatomodelcon3cluster. - Usa il metodo
.fit_predict()dimodelper addestrarlo susamplese ricavare le etichette dei cluster. Usare.fit_predict()equivale a usare.fit()seguito da.predict(). - Crea un DataFrame
dfcon due colonne chiamate'labels'e'varieties', usando rispettivamentelabelsevarietiescome valori. Questo è già stato fatto per te. - Usa la funzione
pd.crosstab()sudf['labels']edf['varieties']per contare quante volte ciascuna varietà coincide con ciascuna etichetta di cluster. Assegna il risultato act. - Premi Invia per vedere la tabella a doppia entrata!
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create a KMeans model with 3 clusters: model
model = ____
# Use fit_predict to fit model and obtain cluster labels: labels
labels = ____
# Create a DataFrame with labels and varieties as columns: df
df = pd.DataFrame({'labels': labels, 'varieties': varieties})
# Create crosstab: ct
ct = ____
# Display ct
print(ct)