IIS_2023_1/savenkov_alexander_lab_4/readme.md

60 lines
5.6 KiB
Markdown
Raw Normal View History

2023-10-24 18:59:32 +04:00
Общее задание:
Использовать метод кластеризации к данным из курсовой работы, самостоятельно сформулировав задачу.
Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи.
Задание по вариантам:
Тема: Анализ данных игр Epic Games Store
Датасет: Epic Games Store Dataset
Ссылки:
https://www.kaggle.com/datasets/mexwell/epic-games-store-dataset?select=games.csv,
Задача для кластарезации:
Кластеризация игр на основе их характеристик (например: жанра, цены, платформы, компаний-разработчиков) для выявления схожих групп игр.
Переменные: Жанр(ACTION,RPG; ACTION; INDIE,PUZZLE; SHOOTER,FPS; ACTION,FIGHTING,STEALTH), цена(1999, 1499, 999), платформа(Windows; Windows,Mac; Windows,Mac,Win32), компания-разработчик(Ubisoft, Traveller's Tales, 2D Boy)
Запуск приложения осуществляется запуском файла app.py
Использованные технологии:
Среда программирования Pycharm
Версия языка python: 3.11
Flask: Flask - это фреймворк для создания веб-приложений на Python. Он обрабатывает запросы, управляет маршрутами и взаимодействием с клиентом.
Pandas: Pandas - это библиотека для анализа данных. Она используется для загрузки данных из файла games.csv и для подготовки данных для кластеризации.
scipy: SciPy - это библиотека для научных вычислений в Python. В вашем приложении она используется для выполнения иерархической кластеризации и построения дендрограммы.
seaborn: Seaborn - это библиотека для визуализации данных. Она используется для создания и отображения дендрограммы на основе данных иерархической кластеризации.
HTML и шаблоны: Для создания веб-страницы и отображения данных используются HTML и шаблоны Flask, например, dendrogram.html, который определяет структуру страницы и вставляет изображение дендрограммы.
Краткое описание работы программы:
Загрузка данных: Программа загружает данные из CSV-файла "games.csv"
Flask приложение запускается и начинает прослушивать локальный порт 5000.
Программа загружает данные из файла games.csv, в котором содержатся характеристики видеоигр, такие как жанр, цена, платформа и компания-разработчик.
Данные из файла обрабатываются с использованием библиотеки Pandas, чтобы подготовить их для кластеризации.
Используя библиотеку scipy, программа выполняет иерархическую кластеризацию данных и строит дендрограмму, которая представляет собой дерево, отображающее связи между видеоиграми.
После построения дендрограммы, программа создает изображение дендрограммы с помощью библиотек Seaborn и Matplotlib.
Изображение дендрограммы сохраняется в формате PNG и преобразуется в строку base64.
Веб-приложение использует Flask для отображения этой изображения дендрограммы на веб-странице.
Пользователь может открыть веб-страницу в своем браузере и увидеть отображенную дендрограмму, которая помогает выявить схожие группы видеоигр на основе их характеристик.
Пример входных данных:
Данные из файла "games.csv" Цена игры (Price of game), Жанры (Genres), Платформы (Platform), компаний-разработчиков (Developer)
Название игры Жанр Цена Платформа Разработчик
Игра 1 Action 19.99 Windows Ubisoft
Игра 2 RPG 29.99 Windows, Mac Electronic Arts
Игра 3 Puzzle 9.99 Windows, Mac 2D Boy
Игра 4 Action 14.99 Windows Ubisoft
Игра 5 Shooter 24.99 Windows, Win32 Electronic Arts
Пример выходных данных:
дендрограмма, которая показывает как видеоигры группируются в зависимости от их схожести в отношении выбранных характеристик (жанры, цены, платформы и компаний-разработчиков)