IIS_2023_1/zhukova_alina_lab_4/readme.md

4.3 KiB
Raw Blame History

Задание

Использовать метод кластеризации по варианту для выбранных данных, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи

Вариант №10

Используемые технологии

В лабораторной были использованы библиотеки:

  • pandas - позволяет работать с наборами данных
  • matplotlib - используется для создания графиков
  • sklearn - используется для работы с моделями и методами машинного обучения
  • Flask - предоставляет способ быстрого создания веб-страниц для визуализации работы приложения

Используемые компоненты

  • KMeans - библиотечная реализация метода k-средних, алгоритм стремится минимизировать суммарное квадратичное отклонение точек кластеров от центров этих кластеров
  • silhouette_score - метрика "Силуэт" для определения качества кластеризации. Вычисляется с помощью среднего внутрикластерного расстояния и среднего расстояния до ближайшего кластера по каждому образцу

Как запустить

Запустить файл flask-server, который поднимет локальный сервер и позволит обратиться к программе через браузер по ссылке http://127.0.0.1:5000/

Что делает программа

Берет 5000 записей из датасета (датасет Chess Game Dataset https://www.kaggle.com/datasets/datasnaek/chess), Преобразует данные нечисловых столбцов в числовые значения, осуществляет нормализацию и взвешивание параметров. Проводит кластеризацию с помощью метода KMeans на данных, количество кластеров выбрано вручную. Оценивает качество кластеризации с помощью метрики "Силуэт"

Анализ и скриншоты работы программы

С помощью кластеризации планировалось разбить все шахматные партии на группы с учетом напряженности игры. Так, рейтинговые игры, с меньшими временными затратами на ход и более высокими рейтингами игроков считаются более напряженными.

Наилучшие результаты по метрике "Силуэт" получаются, если задать количество кластеров, равное двум. Но при этом всего лишь происходит разделение игр на рейтинговые и не рейтинговые. Изменение веса этого параметра также не дает существенных результатов img.png

С другой стороны, разделение данных на 3 кластера визуально совпадает с ожидаемым разделнием. Так, самые напряженные игры войдут в синий кластер, менее напряженные - в желтый. Красный кластер соберет все наимее напряженные игры, так как они проходят вне рейтинга. Однако оценка по метрике "Силуэт" будет существенно хуже. img.png