lab12_ml_testing
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md
Лабораторная работа 12: Комплексное тестирование ML pipeline
Структура
— генерация данных, обучение, сохранение/загрузка модели, предсказание.ml_pipeline.py— Flask API для инференса (ml_api.py,/health,/predict,/batch_predict)./model_info— сквозное тестирование данных, модели, API и дрифта.ml_testing_framework.py— имитация прод-наблюдения, сбор метрик, отчёт и дашборд.ml_monitoring.py— сквозной запуск: обучение, API, тесты, мониторинг.run_ml_system.py— pytest-проверки компонентов pipeline.tests/test_ml_pipeline.py— зависимости.requirements.txt
Быстрый старт
Как запустить
- Обучить и сохранить модель: python ml_pipeline.py
- Запустить API:
(проверка:python ml_api.py)http://localhost:5000/health - Запустить фреймворк тестирования: python ml_testing_framework.py
- Запустить мониторинг и дашборд: python ml_monitoring.py
- Запустить всё сразу: python run_ml_system.py
- Юнит-тесты: python -m pytest tests/ -v
Что генерируется
с артефактами модели.model/— отчёт тестов.ml_testing_report.json— отчёт мониторинга.ml_monitoring_report.json— дашборд метрик.ml_monitoring_dashboard.png
Что тестируется
- Данные: обязательные поля, пропуски, выбросы, баланс таргета.
- Модель: accuracy/precision/recall/f1, справедливость по возрасту.
- API: здоровье, одиночные и батчевые предсказания.
- Дрифт: базовые проверки Evidently.
- Мониторинг: точность во времени, дрифт ключевых фич, алерты.
Рекомендации по улучшению
- Увеличить
при генерации данных.num_samples - Попробовать другие модели (LogisticRegression, XGBoost) и настройку гиперпараметров.
- Добавить новые фичи и более строгие тесты дрифта/стабильности.
- Подключить реальные прод-данные для мониторинга.