IIS_2023_1/belyaeva_ekaterina_lab_4/README.md
2023-11-01 15:55:34 +04:00

31 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Задание
Использовать метод кластеризациипо варианту для данных из таблицы 1 по варианту(таблица 9),самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи
Вариант 6 - dendogram
## Как запустить лабораторную
Запустить файл main.py
## Используемые технологии
Библиотеки pandas, matplotlib, scipy, их компоненты
## Описание лабораторной (программы)
Данный код берет данные из датасета о персонажах Dota 2, где описаны атрибуты персонажей, их роли, название, и как часто их пикают и какой у них винрейт на каждом звании в Доте, от реркута до титана.
В моем случае была поставлена задача сгруппировать персонажей по их винрейту и частоте их пиков на определенных рангах.
Программа берет столбцы Name, Herald Win Rate, Herald Picks, создает матрицу для анализа и вычисляет матрицу связей, а затем выводит дендограмму, где персонажи объединены по тому, как часто их пикают и какой у них винрейт.
## Результат
В результате получаем дендограмму, где персонажи сгруппированы по частоте пиков и винрейту. Наглядное представление оказалось очень точным и такой способ решения поставленной задачи выполнил свою работу хорошо.
Например, на диаграмме ниже можно обратить внимание на то, что на ранге рекрут персонажи Phantom Asassin, Witch Doctor, Sniper и Pudge стоят вместе в правом нижнем углу. Такое наблюдение говорит о том, что датасет очень приближен к реальным данным и составлен правильно, а так же о том, что программа работает верно и выдает правильный, приближенный к реальности, результат.
![heraldInfo.png](heraldInfo.png)
Если же посмотреть на результат по данным для ранга титан, можно увидеть других героев, объединенных друг с другом по тому же приципу.
![ImmortalInfo.png](ImmortalInfo.png)
Сначала я хотела объединить героев по их винрейту на всех рангах, но такая информация не несет в себе много смысла, поэтому задача, которую я описала выше, сформулирована правильно, несет в себе смысл и решается заданным способом.
Такую статистику можно посмотреть по любому из рангов, заменив в коде слово Herald на интересующий ранг.