Учебный репозиторий реализации конвейера операций по сбору данных, обработке и разделению их для модели машинного обучения , предсказывающей стоимость автомобилей. Конвейер реализован с помощью сервиса AirFlow с использованием DAG (прямой граф вычислений без циклов) и управлением экспериментами с помощью MLFlow
- шаблон DAG’а (dags/hw_dag.py),
- готовый код ML-модели (modules/pipeline.py),
- шаблон скрипта для прогноза моделью (modules/predict.py),
- данные для обучения и тестирования (data/train, data/test),
- data/predictions папки под сохранение ML-модели и предсказаний в формате csv.
- Клонировать папку airflow_hw и открыть её в Pycharm.
- Запустить пайплайн с моделью локально и в Airflow, это обучит и сохранит объект с пайплайном лучшей модели в pickle-формате:
- Выполнить в терминале локально: python3 modules/pipeline.py (из терминала Pycharm).
- В Airflow: скопировать файл hw_dag.py в папку $AIRFLOW_HOME/dags.
Код в файле modules/predict.py, который при вызове функции predict(): загружает обученную модель, делает предсказания для всех объектов в папке data/test, объединяет предсказания в один Dataframe и сохраняет их в csv-формате в папку data/predictions.
Проверить корректность кода, запустив его локально: python3 modules/predict.py (можно и в терминале Pycharm)
pipeline — здесь выполняется функция pipeline.
predict — здесь делается предикт для всех объектов и сохраняется в папку data/predictions.
Запустить пайплайн в интерфейсе Airflow и получить предикты модели.