Die Cluster-Labels extrahieren
In der letzten Aufgabe hast du gesehen, dass die vorläufige Clusterbildung der Getreideproben in Höhe 6 drei Cluster hat. Jetzt kannst du mit der Funktion „ fcluster()
“ die Cluster-Labels für diese Zwischenclusterung herausziehen und die Labels mit den Getreidesorten in einer Kreuztabelle vergleichen.
Die hierarchische Clusterbildung ist schon erledigt und „ mergings
” ist das Ergebnis der Funktion „ linkage()
”. Die Liste „ varieties
“ zeigt die Vielfalt jeder Getreideprobe an.
Diese Übung ist Teil des Kurses
Unüberwachtes Lernen in Python
Anleitung zur Übung
Importieren:
pandas
als „pd
“.fcluster
vonscipy.cluster.hierarchy
.
Mach ein flaches hierarchisches Clustering mit der Funktion „
fcluster()
” aufmergings
. Gib eine maximale Höhe von „6
“ und das Schlüsselwortargument „criterion='distance'
“ an.Erstell einen DataFrame „
df
” mit zwei Spalten namens „'labels'
” und „'varieties'
”, wobei du für die Spaltenwerte „labels
” und „varieties
” verwendest. Das haben wir für dich getan.Mach eine Kreuztabelle
ct
zwischendf['labels']
unddf['varieties']
, um zu zählen, wie oft jede Getreidesorte mit jedem Cluster-Label übereinstimmt.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)