Quanti cluster di cereali?
Nel video hai visto come scegliere un buon numero di cluster per un insieme di dati usando il grafico dell'inerzia di k-means. Ti viene fornito un array samples che contiene le misure (come area, perimetro, lunghezza e altre) di campioni di cereali. Qual è un buon numero di cluster in questo caso?
KMeans e PyPlot (plt) sono già stati importati per te.
Questo insieme di dati proviene dall'UCI Machine Learning Repository.
Questo esercizio fa parte del corso
Apprendimento non supervisionato in Python
Istruzioni dell'esercizio
- Per ognuno dei valori di
kforniti, esegui i seguenti passaggi: - Crea un'istanza
KMeanschiamatamodelconkcluster. - Adatta il modello ai dati dei cereali
samples. - Aggiungi il valore dell'attributo
inertia_dimodelalla listainertias. - Il codice per tracciare
ksrispetto ainertiasè già pronto: premi Invia per vedere il grafico!
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
ks = range(1, 6)
inertias = []
for k in ks:
# Create a KMeans instance with k clusters: model
____
# Fit model to samples
____
# Append the inertia to the list of inertias
____
# Plot ks vs inertias
plt.plot(ks, inertias, '-o')
plt.xlabel('number of clusters, k')
plt.ylabel('inertia')
plt.xticks(ks)
plt.show()