Домашнее задание Python Flask HW
Модуль для обучения бинарных моделей классификации.
Для запуска модели:
Для запуска API:
cli.py python
Для запуска Telegram-бота:
telegram.py python
Оба .py файла должны быть запущены из различных терминалов.
API:
'/api/ml_models' - Обработка всех моделей
GET - Получение списка обученных моделей
DELETE - Очистка списка моделей, удаление всех моделей
'/api/ml_models/can_train' - Получение списка моделей, которые класс может тренировать
GET - Получение списка моделей, которые класс может тренировать
'/api/ml_models/count' - Получить количество обученных моделей
GET - Получить количество обученных моделей
'/api/ml_models/int:id' - Обработка одной модели id - индекс модели
GET - Получение описания модели: качества во время обучения (на кросс-валидации), гиперпараметров, типа
PUT - Переобучить модель с возможностью настройки гиперпараметров
Параметры:
train - обучающие данные
y_train - таргет
params - гиперпараметры. По умолчанию: {}
cv - количество фолдов для оценки качества модели на cross_val_score.
При cv=1 качество оценивается только train данным, без биения на фолды (рекомендуется использовать cv=1 только для ОЧЕНЬ маленьких данных). По умолчанию: 3
find_params - подобрать гиперпараметры
Если find_params = True:
n_trials - Количество итераций подбора. По умолчанию: 20
DELETE - Удалить модель
'/api/ml_models/train' - Обучение новой модели с возможностью настройки гиперпараметров
POST - Обучение новой модели с возможностью настройки гиперпараметров
Параметры:
train - обучающие данные
y_train - таргет
params - гиперпараметры. По умолчанию: {}
cv - количество фолдов для оценки качества модели на cross_val_score.
При cv=1 качество оценивается только train данным, без биения на фолды (рекомендуется использовать cv=1 только для ОЧЕНЬ маленьких данных). По умолчанию: 3
find_params - подобрать гиперпараметры
Если find_params = True:
n_trials - Количество итераций подбора. По умолчанию: 20
'/api/ml_models/predict/int:id' - Получение прогноза для одной модели
GET - Получение прогноза для одной модели
Параметры:
test - тестовые данные
y_test (опционально) - таргет для тестовых данных. Если его подать, вместе с вектором прогноза модель вернет оценку метрик
Другие файлы:
HW_Flask.ipynb - .ipynb файл с тестированием API
Telegram.ipynb - .ipynb файл с тестированием Telegram
.venv - Скрытая папка с данными о виртуальном окружении
requirements.txt - Используемые версии библиотек
/Data_test/train.json - Обучающие данные для тестирования
/Data_test/test.json - Тестовые данные для тестирования
/Data_test/y_train.json - Обучающий таргет для тестирования
/Data_test/y_test.json - Тестовый таргет для тестирования