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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 2Python 3

File details

Details for the file met_ml_project-0.1.2.tar.gz.

File metadata

  • Download URL: met_ml_project-0.1.2.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for met_ml_project-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9bc37fd56bd0531180cdb6e2dcc20de380f132572f17df7503892fb4e39a4851
MD5 d27eaaaa26b768abf7294c71aa6d0361
BLAKE2b-256 430ee6e3aa4eea9e062f7a93bf4d41ca5214d5c147ea0ef6607c7085b34995de

See more details on using hashes here.

File details

Details for the file met_ml_project-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for met_ml_project-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 48f4e2cb1a3d85423869612bd3918688efe527b428d0a11fc67249d1d82cb358
MD5 97b8e80797d08ba7b0cbec561cfc7476
BLAKE2b-256 ae0d118fd9ef61945e0c706244dd7c6dad1df976e2ed94e8edc075b541d57ec4

See more details on using hashes here.

Supported by

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