Utvärdera klustringen av sädesslag
I föregående övning såg du i inertigrafen att 3 är ett lämpligt antal kluster för sädesslagens data. Sädeskornen kommer faktiskt från en blandning av tre olika sorter: "Kama", "Rosa" och "Canadian". I den här övningen ska du klustra sädeskornen i tre kluster och jämföra klustren med de faktiska sorterna med hjälp av en korstabellanalys.
Du har arrayen samples med sädesprover och en lista varieties som anger sorten för varje prov. Pandas (pd) och KMeans har redan importerats åt dig.
Den här övningen är en del av kursen
Oövervakad inlärning i Python
Övningsinstruktioner
- Skapa en
KMeans-modell kalladmodelmed3kluster. - Använd metoden
.fit_predict()påmodelför att träna den påsamplesoch hämta klusteretiketterna. Att använda.fit_predict()är samma sak som att använda.fit()följt av.predict(). - Skapa en DataFrame
dfmed två kolumner som heter'labels'och'varieties', med värdena frånlabelsrespektivevarieties. Det här steget är redan gjort åt dig. - Använd funktionen
pd.crosstab()pådf['labels']ochdf['varieties']för att räkna hur många gånger varje sädesslag sammanfaller med varje klusteretikett. Tilldela resultatet tillct. - Klicka på Skicka in svar för att se korstabellen!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)