Skip to main content

MADE MLOps homework 1

Project description

MADE MLOps

homework 1

Учебный проект, включающий обучение модели и получение предсказаний сердечных заболеваний с её помощью.

Денис Шибитов


Установка:

python -m venv .venv
source .venv/bin/activate
pip install .

Запуск обучения:

python ml_project/train_pipeline.py configs/train_config.yaml 

Так же дополнительно доступно ещё две различные конфигурации для обучения:

train_config_rf.yaml
train_config_log.yaml

Предсказание:

python ml_project/predict_pipeline.py configs/predict_config.yaml

Результаты обучения, предсказания и полученные метрики качества расположены в (можно изменить в файлах конфигурации):

results/models
results/predicts
results/metrics

Запуск тестов:

python -m unittest discover tests

Структура проекта:

├── source_data                             <- данные для обучения
├── configs                                 <- конфигурации для обучения и предсказания
│             ├── predict_config.yaml
│             ├── train_config_log.yaml
│             ├── train_config_rf.yaml
│             └── train_config.yaml
├── EDA                                     <- EDA: ноутбук + сгенерированный отдельно отчет
│             ├── EDA_1.ipynb
│             ├── eda_report.html
│             └── eda_script.py
├── ml_project
│             ├── data                      <- подмодуль для работы с данными
│             ├── entities                  <- дата классы для работы с конфигами
│             ├── features                  <- подмодуль для работы с предикторами
│             ├── models                    <- подмодуль для функций обучения/предсказаний
│             ├── predict_pipeline.py       <- получение предсказаний
│             └── train_pipeline.py         <- обучение модели на данных
│             ├── __init__.py
├── requirements.txt                        <- зависимости проекта
├── README.md                               <- описание проекта
├── results                                 <- каталог по умолчанию для полученных артефактов
├── setup.py
└── tests                                   <- тестирование кода

Архитектурные решения

За основву был взят пример проекта который был предоставлен на занятиях, так что философия того что в итоге получилось очень близка к нему (как мне кажется). В проекте поддерживается модульная структура. Основная часть домашнего задания (код для обучения моделей и получения предсказаний с помощью них) расположена в папке ml_project, который является python пакетом. Отдельно было проведено исследование предложенного датасета в ноутбуке (папка EDA). Так же в этой папке находится скрипт "авто-EDA" и получившийся с помощью него репорт (на самом деле интересный опыт, я не знал раньше, спасибо). Поддерживается конфигурирования с помощью yaml файлов (папка configs). В папке находится три различных конфигурации для обучения и одна для предсказания. С помощью unittest тесты (папка tests) для проверки паплайна обучения/предсказания целиком так и для отдельных частей проекта. Так же написаны тесты для кастомного трансформера и для автоматически сгенерированных данных. Для реализации ml модели выбрана библиотека sklearn, для конфигурирования marshmallow + датаклассы. Настроен github actions для автоматического прогона тестов и линтеров.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

met_ml_project-0.1.2.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

met_ml_project-0.1.2-py2.py3-none-any.whl (9.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page