Wyodrębnianie etykiet klastrów
W poprzednim ćwiczeniu widziałeś, że pośrednie grupowanie próbek zboża na wysokości 6 daje 3 klastry. Teraz użyj funkcji fcluster(), aby wyodrębnić etykiety klastrów dla tego pośredniego grupowania, a następnie porównaj je z odmianami zbóż za pomocą tabeli krzyżowej.
Grupowanie hierarchiczne zostało już wykonane, a mergings przechowuje wynik funkcji linkage(). Lista varieties zawiera odmianę każdej próbki zboża.
To ćwiczenie jest częścią kursu
Uczenie nienadzorowane w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj:
pandasjakopd.fclusterzscipy.cluster.hierarchy.
- Wykonaj płaskie grupowanie hierarchiczne, wywołując funkcję
fcluster()na obiekciemergings. Podaj maksymalną wysokość6oraz argument kluczowycriterion='distance'. - Utwórz DataFrame
dfz dwiema kolumnami o nazwach'labels'i'varieties', używając odpowiedniolabelsivarietiesjako wartości kolumn. Ten krok został już za ciebie wykonany. - Utwórz tabelę krzyżową
ctna podstawiedf['labels']idf['varieties'], aby policzyć, ile razy każda odmiana zboża pokrywa się z każdą etykietą klastra.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)