74 lines
5.2 KiB
Markdown
74 lines
5.2 KiB
Markdown
Общее задание:
|
||
Использовать нейронную сеть (четные варианты – 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) |