IIS_2023_1/savenkov_alexander_lab_3/readme.md

65 lines
6.0 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.

Общее задание:
Решите с помощью библиотечной реализации дерева решений
задачу из лабораторной работы «Веб-сервис «Дерево решений» по предмету
«Методы искусственного интеллекта» на 99% ваших данных. Проверьте
работу модели на оставшемся проценте, сделайте вывод.
Задание по вариантам:
Тема: Анализ данных игр 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
Там один пак с несколькими наборами данных связанные с этой темой, поэтому мне нужно 2 набора данных из всего пака наборов данных для данной цели
Задача для древа решений:
Задача классификации успешности игр:
Цель: Классифицировать игры на успешные и неуспешные на основе их характеристик.
Признаки:
Рейтинг (Rating)
Цена игры (Price of game)
Жанры (Genres)
Дата релиза (Release date)
Целевая переменная: Успешность игры (Successful/Unsuccessful), которая может определяться, например, на основе пороговых значений продаж или оценок.
Запуск приложения осуществляется запуском файла app.py
Использованные технологии:
Среда программирования Pycharm
Версия языка python: 3.11
Flask: Flask - это веб-фреймворк для Python, который используется для создания веб-приложения. Он обеспечивает обработку HTTP-запросов, маршрутизацию и создание веб-страниц.
Pandas: Pandas - это библиотека для анализа данных в Python. Она использовалась для загрузки, обработки и манипуляции данными из CSV-файлов.
scikit-learn: Scikit-learn - это библиотека для машинного обучения в Python. Она включает в себя реализации различных алгоритмов машинного обучения, таких как DecisionTreeClassifier, который был использован для создания модели дерева решений.
HTML и Jinja2: Веб-страницы создавались с использованием HTML. Шаблоны HTML дополнялись с использованием шаблонизатора Jinja2, что позволяло встраивать переменные и логику Python в HTML-код.
Формы HTML: Формы HTML использовались для ввода данных пользователем (цена игры, жанры и дата релиза) и их отправки на сервер для обработки.
Модуль datetime: Модуль datetime использовался для обработки даты релиза игры и преобразования ее в формат Unix-времени.
Краткое описание работы программы:
Загрузка данных: Программа загружает данные из двух CSV-файлов ("games.csv" и "open_critic.csv") и объединяет их в один набор данных.
Подготовка данных: Данные обогащаются, преобразуется формат даты, и жанры кодируются в бинарные признаки.
Обучение модели: Создается модель дерева решений для классификации игр на успешные и неуспешные на основе обучающего набора данных.
Оценка модели: Модель оценивается на тестовом наборе данных, и точность модели сохраняется.
Веб-интерфейс: Пользователь видит веб-страницу, содержащую форму для ввода данных о цене, жанрах и дате релиза игры.
Классификация: Пользователь вводит данные и отправляет форму. Программа использует обученную модель для классификации игры на успешную или неуспешную и отображает результат на веб-странице.
Дополнительная информация: Пользователь также видит дополнительную информацию, такую как точность модели, количество успешных и неуспешных игр, и важность признаков.
Локальный сервер: Программа запускается на локальном сервере с хостом "localhost" и портом 5000, что позволяет пользователям взаимодействовать с ней через веб-браузер.
Пример входных данных:
Данные из файлов "games.csv" и "open_critic.csv" Цена игры (Price of game), Жанры (Genres), Дата релиза (Release date), Рейтинг (Rating)
Пример выходных данных:
результат классификации, точность модели, количество успешных и неуспешных игр и важность признаков.