Machine learning pipeline — основы. Cookiecutter и Hydra

В курсах по Data Science домашние работы и проекты делаются в Jupyter Notebooks и студентов не учат писать пайплайны. Дело в том, что работа в Jupyter Notebooks не смотря на удобство несет в себе в том числе и недостатки. Например, вы строите несколько типов моделей с несколькими вариантами заполнения пропусков (среднее, медиана), генерируете набор feature engineering и применяете разные варианты разбиения выборки.

Можно разместить весь этот код в один Jupyter Notebooks и логгировать метрики и конфиги. Код получится громоздкий и не поворотливый. Для запуска экспериментов надо будет или перескакивать или комментировать ячейки, которые не нужно запускать.

Для решения этих проблем рекомендую использовать pipeline для автоматизации рабочих процессов машинного обучения. Основная цель создания пайплайна — это контроль. Хорошо организованный пайплайн делает реализацию более гибкой.

Читать далее