Skip to content

DianaKotereva/FlaskHW

Repository files navigation

FlaskHW

Домашнее задание 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 - Тестовый таргет для тестирования

About

Домашнее задание Python Flask HW

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published