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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for met_ml_project-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48f4e2cb1a3d85423869612bd3918688efe527b428d0a11fc67249d1d82cb358 |
|
MD5 | 97b8e80797d08ba7b0cbec561cfc7476 |
|
BLAKE2b-256 | ae0d118fd9ef61945e0c706244dd7c6dad1df976e2ed94e8edc075b541d57ec4 |