Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Maak een KMeans-model model met 3 clusters.
  • Gebruik de methode .fit_predict() van model om het te trainen op samples en de clustertags af te leiden. .fit_predict() gebruiken is hetzelfde als eerst .fit() en daarna .predict() aanroepen.
  • Maak een DataFrame df met twee kolommen 'labels' en 'varieties', met respectievelijk labels en varieties als kolomwaarden. Dit is al voor je gedaan.
  • Gebruik de functie pd.crosstab() op df['labels'] en df['varieties'] om te tellen hoe vaak elk graanras samenvalt met elk clustertag. Ken het resultaat toe aan ct.
  • 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)
Code bewerken en uitvoeren