.. | ||
templates | ||
app.py | ||
bgg_dataset.csv | ||
linear_regression_model.joblib | ||
logistic_regression_model.joblib | ||
readme.md |
Общее задание: Использовать регрессию по варианту для данных из курсовой работы, самостоятельно сформулировав задачу. Оценить, насколько хорошо она подходит для решения сформулированной вами задачи.
Задание по вариантам: алгоритм Логистическая регрессия Датасет: Board Games Ссылки: https://www.kaggle.com/datasets/andrewmvd/board-games
Задача для регрессии: предсказать будет ли рейтинг игры выше среднего или ниже на основе характеристик: 'Year Published', 'Users Rated', 'Rating Average', 'BGG Rank', 'Owned Users', 'Complexity Average'
Запуск через файл app.py
Программа использует следующие технологии:
Flask: для создания веб-приложения. pandas: для работы с данными в формате CSV. scikit-learn: для обучения и использования моделей машинного обучения (Linear Regression и Logistic Regression). joblib: для сохранения и загрузки обученных моделей. Описание работы программы:
Программа загружает данные из файла "bgg_dataset.csv", используя библиотеку pandas. Выбираются нужные столбцы: 'Year Published', 'Users Rated', 'Rating Average', 'BGG Rank', 'Owned Users', 'Complexity Average'. Производится замена запятых на точки в столбцах 'Rating Average' и 'Complexity Average'. Пропущенные значения в данных заменяются средними значениями по соответствующим столбцам. Данные разделяются на обучающий и тестовый наборы. Создается и обучается модель (линейной или логистической регрессии) с использованием scikit-learn и сохраняется в файле. Веб-приложение на Flask запускается локально. Пользователь взаимодействует с веб-формой, вводя параметры игры (Year Published, Users Rated, BGG Rank, Owned Users, Complexity Average). Введенные данные передаются в обученную модель, которая делает предсказание. Предсказание выводится на веб-странице. Входные данные: параметры игры (Year Published, Users Rated, BGG Rank, Owned Users, Complexity Average) через веб-форму.
Выходные данные: предсказание (например, классификация игры как "выше среднего"(1) или "ниже среднего"(0)) на веб-странице.