De graanclustering evalueren
In de vorige oefening zag je in de inertie-plot dat 3 een goed aantal clusters is voor de graangegevens. De graanmonsters komen namelijk uit een mix van 3 verschillende graanrassen: "Kama", "Rosa" en "Canadian". In deze oefening cluster je de graanmonsters in drie clusters en vergelijk je de clusters met de graanrassen via een kruistabel.
Je hebt de array samples met graanmonsters en een lijst varieties met voor elk monster het graanras. Pandas (pd) en KMeans zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Unsupervised Learning in Python
Oefeninstructies
- Maak een
KMeans-modelmodelmet3clusters. - Gebruik de methode
.fit_predict()vanmodelom het te trainen opsamplesen de clustertags af te leiden..fit_predict()gebruiken is hetzelfde als eerst.fit()en daarna.predict()aanroepen. - Maak een DataFrame
dfmet twee kolommen'labels'en'varieties', met respectievelijklabelsenvarietiesals kolomwaarden. Dit is al voor je gedaan. - Gebruik de functie
pd.crosstab()opdf['labels']endf['varieties']om te tellen hoe vaak elk graanras samenvalt met elk clustertag. Ken het resultaat toe aanct. - Klik op Verzenden om de kruistabel te zien!
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)