00 · Foundation и диагностика0.2 · SQL и ML baseline0.2.2средний

Базовый 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 из неизвестного источника: эти форматы могут выполнить произвольный код при загрузке.

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

  • Сформулируйте target, момент prediction и одну метрику для учебной задачи.

  • Создайте фиксированный train/validation/test split.

  • Обучите простую baseline-модель и сохраните метрику вместе с версией данных.

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