Evaluarea clusterizării cerealelor
În exercițiul anterior, ai observat din graficul inerției că 3 este un număr potrivit de clustere pentru datele despre cereale. De fapt, eșantioanele de cereale provin dintr-un amestec de 3 soiuri diferite: „Kama", „Rosa" și „Canadian". În acest exercițiu, vei grupa eșantioanele de cereale în trei clustere și vei compara clusterele cu soiurile de cereale folosind un tabel încrucișat.
Ai la dispoziție array-ul samples cu eșantioanele de cereale și o listă varieties care indică soiul fiecărui eșantion. Pandas (pd) și KMeans au fost deja importate.
Acest exercițiu face parte din cursul
Învățare nesupervizată în Python
Instrucțiuni pentru exercițiu
- Creează un model
KMeansnumitmodelcu3clustere. - Folosește metoda
.fit_predict()a modeluluimodelpentru a-l antrena pesamplesși a obține etichetele clusterelor. Utilizarea.fit_predict()este echivalentă cu apelarea.fit()urmată de.predict(). - Creează un DataFrame
dfcu două coloane numite'labels'și'varieties', folosind respectivlabelsșivarietiesca valori ale coloanelor. Acest pas a fost deja realizat pentru tine. - Folosește funcția
pd.crosstab()pedf['labels']șidf['varieties']pentru a număra de câte ori fiecare soi de cereale coincide cu fiecare etichetă de cluster. Atribuie rezultatul variabileict. - Apasă Trimite răspunsul pentru a vedea tabelul încrucișat!
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)