Витягування міток кластерів
У попередній вправі ви побачили, що проміжне кластеризування зразків зерна на висоті 6 має 3 кластери. Тепер скористайтеся функцією fcluster(), щоб отримати мітки кластерів для цього проміжного кластеризування, і порівняйте мітки з різновидами зерна за допомогою перехресної таблиці.
Ієрархічне кластеризування вже виконане, а mergings — це результат функції linkage(). Список varieties містить різновид кожного зразка зерна.
Ця вправа є частиною курсу
Наглядове навчання в Python
Інструкції до вправи
- Імпортуйте:
pandasякpd.fclusterізscipy.cluster.hierarchy.
- Виконайте пласке ієрархічне кластеризування, застосувавши функцію
fcluster()доmergings. Задайте максимальну висоту6і ключовий аргументcriterion='distance'. - Створіть датафрейм
dfз двома стовпцями під назвами'labels'і'varieties', використавши відповідноlabelsіvarietiesяк значення стовпців. Це вже зроблено за вас. - Створіть перехресну таблицю
ctміжdf['labels']іdf['varieties'], щоб порахувати, скільки разів кожний різновид зерна збігається з кожною міткою кластера.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)