MLOps Path

0.2.2 · блок 0

Базовый ML baseline

Базовый ML baseline

Зачем это нужно

MLOps не исправляет неясную ML-задачу. До контейнера и Kubernetes нужен честный baseline: измеримый, воспроизводимый и достаточно простой, чтобы изменения можно было сравнивать с ним.

Основные идеи

Train / validation / test. На train модель учится, на validation выбирают признаки и настройки, test оставляют нетронутым до финальной оценки. Использовать test много раз для выбора модели — значит незаметно обучаться на test.

Leakage — признак содержит информацию, которой не будет в момент prediction: итоговый статус заказа, будущую дату, target в другом поле. Leakage даёт красивую offline-метрику и плохой prod.

Метрика следует бизнес-риску.

| Задача | Возможная метрика |

|---|---|

| редкий fraud | PR-AUC, recall при заданном precision |

| churn | ROC-AUC, recall/precision, calibration |

| регрессия спроса | MAE, RMSE |

Воспроизводимость. Зафиксируйте dataset snapshot, split, random_state, код, зависимости и метрики. Baseline — артефакт, а не цифра в чате.

Простая модель — сильная отправная точка. Для табличной классификации начните с DummyClassifier и логистической регрессии. Более сложная модель должна выигрывать у baseline на validation и оправдывать цену эксплуатации.

Как это выглядит на практике


X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, stratify=y, random_state=42
)
model = LogisticRegression(max_iter=1_000, random_state=42)
model.fit(X_train, y_train)

В metrics.json сохраните метрику, размер выборок и commit SHA. Не загружайте .pkl или joblib из неизвестного источника: эти форматы могут выполнить произвольный код при загрузке.

Что сделать после занятия

Официальные материалы

Открыть интерактивную версию