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

Оценка кластеризации зерна

В предыдущем упражнении вы определили по графику инерции, что оптимальное количество кластеров для данных о зерне равно 3. Действительно, образцы зерна относятся к трём разным сортам: «Кама», «Роза» и «Канадская». В этом упражнении вы разобьёте образцы зерна на три кластера и сравните полученные кластеры с реальными сортами с помощью таблицы сопряжённости.

Массив samples с образцами зерна и список varieties с указанием сорта для каждого образца уже доступны. Библиотека Pandas (pd) и класс KMeans импортированы заранее.

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

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

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

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

  • Создайте модель KMeans с именем model и 3 кластерами.
  • Используйте метод .fit_predict() объекта model, чтобы обучить модель на данных samples и получить метки кластеров. Метод .fit_predict() эквивалентен последовательному вызову .fit() и .predict().
  • Создайте DataFrame df с двумя столбцами: 'labels' и 'varieties', используя соответственно labels и varieties в качестве значений столбцов. Этот шаг уже выполнен за вас.
  • Примените функцию pd.crosstab() к df['labels'] и df['varieties'], чтобы подсчитать, сколько раз каждый сорт зерна совпадает с каждой меткой кластера. Сохраните результат в переменную ct.
  • Нажмите «Отправить ответ», чтобы увидеть таблицу сопряжённости!

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Create a KMeans model with 3 clusters: model
model = ____

# Use fit_predict to fit model and obtain cluster 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)
Редактировать и запускать код