НачатьНачать бесплатно

Извлечение меток кластеров

В предыдущем упражнении вы увидели, что промежуточная кластеризация образцов зерна на высоте 6 даёт 3 кластера. Теперь используйте функцию fcluster(), чтобы извлечь метки кластеров для этой промежуточной кластеризации, и сравните их с сортами зерна с помощью таблицы сопряжённости.

Иерархическая кластеризация уже выполнена, и mergings содержит результат функции linkage(). Список varieties задаёт сорт каждого образца зерна.

Это упражнение является частью курса

Обучение без учителя на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте:
    • pandas с псевдонимом pd.
    • fcluster из scipy.cluster.hierarchy.
  • Выполните плоскую иерархическую кластеризацию с помощью функции fcluster() на основе mergings. Задайте максимальную высоту 6 и аргумент criterion='distance'.
  • Создайте DataFrame 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)
Редактировать и запускать код