IIS_2023_1/savenkov_alexander_lab_6/readme.md

74 lines
5.2 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.

Общее задание:
Использовать нейронную сеть (четные варианты MLPRegressor, нечетные MLPClassifier) для данных из датасета выбранного для курсовой работы, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо она подходит для решения сформулированной вами задачи.
Задание по вариантам:
Тема: Анализ данных игр Epic Games Store
Датасет: Epic Games Store Dataset
Ссылки:
https://www.kaggle.com/datasets/mexwell/epic-games-store-dataset?select=games.csv,
https://www.kaggle.com/datasets/mexwell/epic-games-store-dataset?select=open_critic.csv
Задача для нейронной сети:
Предсказание рейтинга игр на основе их (например: жанра (genres), цены (price), даты релиза (release_date), оценки критиков (rating) ).
Переменные: Жанр(ACTION,RPG; ACTION; INDIE,PUZZLE; SHOOTER,FPS; ACTION,FIGHTING,STEALTH), цена(1999, 1499, 999), даты релиза(2008-04-09T15:00:00.000Z, 2008-09-28T15:00:00.000Z, 2010-03-16T15:00:00.000Z), оценки критиков (90, 80, 100).
Запуск приложения осуществляется запуском файла app.py
Использованные технологии:
Среда программирования Pycharm
Версия языка python: 3.11
pandas: для работы с данными в виде DataFrame.
Flask: для создания веб-приложения.
render_template: для рендеринга HTML-шаблонов.
request: для работы с HTTP-запросами.
MLPRegressor: для создания многослойного персептрона (MLP) в задаче регрессии.
train_test_split: для разделения данных на обучающий и тестовый наборы.
StandardScaler: для стандартизации данных.
Краткое описание работы программы:
Загрузка данных: Программа загружает данные из CSV-файлов "games.csv" и "open_critic.csv"
Загрузка данных:
Программа загружает два набора данных из CSV-файлов (games.csv и open_critic.csv) и объединяет их по столбцам id и game_id.
Подготовка данных:
Удаляются строки с отсутствующими значениями в столбцах genres, price, release_date, и rating. Затем выбираются нужные столбцы для обучения (genres, price, release_date) и целевая переменная (rating).
Преобразование данных:
Категориальные признаки, такие как жанры игр (genres), преобразуются в числовые с использованием метода one-hot encoding. Дата релиза (release_date) преобразуется в числовой формат, в данном случае, используется только год релиза.
Разделение данных:
Данные разделяются на обучающий и тестовый наборы с использованием train_test_split.
Стандартизация данных:
Производится стандартизация данных с использованием StandardScaler.
Инициализация и обучение нейронной сети:
Инициализируется нейронная сеть с одним скрытым слоем (100 нейронов) и обучается на обучающем наборе данных.
Оценка точности:
Оценивается точность модели на тестовых данных и вычисляется стандартное отклонение целевой переменной.
Веб-интерфейс:
Flask-приложение предоставляет веб-интерфейс, где пользователь может видеть точность и стандартное отклонение модели. Есть также возможность предсказания рейтинга, введя данные через веб-форму.
Пример входных данных:
80% данных из файлов "games.csv" и "open_critic.csv", как обучающие и 20%, как тестовые для вывода точности и стандартного отклонения
Для предсказания: Жанры(писать только один основной): ACTION, Цена: 1999, Дата релиза: 2023-01-01
Пример выходных данных:
Predicted Rating: 59.96
Точность модели:
19.46889777598615% (on test data)
Стандартное отклонение рейтингов:
13.761271572601514% (on test data)