IIS_2023_1/savenkov_alexander_lab_4/readme.md

5.6 KiB
Raw Blame History

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

Задание по вариантам: Тема: Анализ данных игр 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

Пример выходных данных: дендрограмма, которая показывает как видеоигры группируются в зависимости от их схожести в отношении выбранных характеристик (жанры, цены, платформы и компаний-разработчиков)