Cluster-Labels extrahieren
In der vorherigen Übung hast du gesehen, dass die Zwischenstufe des Clusterings der Getreideproben auf Höhe 6 drei Cluster hat. Verwende nun die Funktion fcluster(), um die Cluster-Labels für dieses Zwischen-Clustering zu extrahieren, und vergleiche die Labels mit den Getreidesorten mithilfe einer Kreuztabelle.
Das hierarchische Clustering wurde bereits durchgeführt, und mergings ist das Ergebnis der Funktion linkage(). Die Liste varieties gibt die Sorte jeder Getreideprobe an.
Diese Übung ist Teil des Kurses
Unsupervised Learning in Python
Anleitung zur Übung
- Importiere:
pandasalspd.fclusterausscipy.cluster.hierarchy.
- Führe ein flaches hierarchisches Clustering durch, indem du
fcluster()aufmergingsanwendest. Gib eine maximale Höhe von6und das Schlüsselwortargumentcriterion='distance'an. - Erstelle einen DataFrame
dfmit zwei Spalten namens'labels'und'varieties', wobei du für die Spaltenwerte jeweilslabelsbzw.varietiesverwendest. Das wurde bereits für dich erledigt. - Erstelle eine Kreuztabelle
ctzwischendf['labels']unddf['varieties'], um zu zählen, wie oft jede Getreidesorte mit jedem Cluster-Label zusammenfällt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Perform the necessary imports
import ____ as ____
from ____ import ____
# Use fcluster to extract 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)