Skip to content

SPI315/vine_quality_service

Repository files navigation

Расположение данных

Данные загружнены в s3 хранилище MinIO. Трекинг осуществляется с помощью DVC

Обучение моделей

Проведен первичный выбор двух моделей. Подробности в /notebooks/experiments.ipynb. Скрипты для обучения и выбора моделей и их параметров в /src/model_selection.py.

Трекинг

В качестве инструмента для трекинга выбран ClearML.

Параметры для трекинга логистической регрессии: max_iter, solver, penalty, class_weight. Параметры для трекинга случайного леса: max_iter, solver, penalty, class_weight. Метрики контроля качества: Accuracy, F1_score, ROC_AUC.

Так как случайный лес имеет склонность к переобучению, то для него дополнительно контролируется качество на тренировочной выборке.

Ссылка на эксперименты:

  • Логистическая регрессия (ссылка) - эксперимент с наилучшими метриками на тестовой выборке
  • Случайный лес на тестовой выборке (ссылка) и на тренировочной выборке (ссылка) - эксперименты с одними из лучших метрик на тестовой выборке и наименьшим разрвывом между качеством на тренировочной и тестовой выборках.

Гиперпараметры тестов вынесены в /src/config.py для дальнейшего использования

Для дальнейшей работы выбрана логистическая регрессия, т.к.:

  • качество на тестовой выборке близко к решающему лесу
  • отсутствуют признаки переобучения
  • модель более легкая и быстрая

Оркестратор

Реализован ежедневный запуск обучения модели в Airflow. Сервер поднимается с помощью docker-compose. Модель и ее метрики хранятся в s3 хранилище.

API

Реализовано FastAPI приложение и обертка в Streamlit. Скрипт запуска FasTAPI в api.py. Запуск обертки сервиса из директории /front командой streamlit run front.py.

Тестирование

Реализовано автоматизированное тестирование приложения в Gitlab CI. Параметры в .gitlab-ci.yml

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors