TGViewer
Симулейтив Симулейтив @simulative_official · 7.44K subscribers
Post #2609 1.43K
Катастрофа в проде: модель идеально работает в ноутбуке, но ломается после выкатки в продакшн

Привет! На связи Кристина Желтова, ментор курса «ML-инженер».

На практике нередкая ситуация, когда ML-специалист или даже целая команда празднуют победу — их модель показывает на локальных экспериментах отличное качество, а значит, задача решена!

Модель проходит код-ревью, готовится к раскатке в прод и пилотированию или A/B-тестированию, и вот час настал — её выпускают в настоящую жизнь, в production. Но через какое-то время разгневанные заказчики приходят и сетуют на сошедшую с ума модель, которая одобрила кредиты всем подряд или рекомендовала потратить весь бюджет маркетинга на удержание клиентов, которые и так не собирались уходить.

❓ Какие могут быть причины такого поведения модели, и как узнать о существовании проблемы не от заказчиков, а во время экспериментов?

1️⃣ Temporal Leakage: неправильная разбивка данных, упорядоченных по времени

Проблема: команда использовала обычный train_test_split с shuffle=True на упорядоченных данных с временными метками.

Что произошло: модель училась на данных от января до декабря, а тестировалась на случайно перемешанных данных из этого же периода. Фактически, модель использовала «будущее» для предсказания «прошлого».

Правильный подход: использовать специальную валидацию для временных данных — TrainTestSplit.


2️⃣ Feature Leakage: признаки из «будущего»

Проблема: в датасете могли быть признаки, которые содержали информацию из будущего относительно момента предсказания. Например, параметр customer_lifetime_value, рассчитанный на транзакциях после целевой даты предсказания.

Правильный подход: проверять, что все признаки, агрегации и статистики считаются только на данных до целевой даты предсказания.


3️⃣ Target Leakage: утечка информации из целевой переменной

Проблема: для моделирования использовали признаки, напрямую связанные с целевой переменной или вычисляемые из неё.

Правильный подход: все признаки должны быть собраны или вычислены только из данных, доступных до момента, когда модель делает прогноз. Также стоит отделять создание признаков от целевой переменной во времени.


Кстати, сегодня последний день, когда можно записаться на курс-симулятор «ML-инженер» по низкой цене. Регистрируйтесь и создавайте эффективные модели машинного обучения под руководством опытного ментора-меня 😉

➡️ Записаться на курс со скидкой 15%

📊 Simulative
  • 🔥 9
  • ❤ 5
More from @simulative_official
  1. Oct 14, 2026Post #3620
  2. Oct 13, 2026💻💻💻💻💻 Падение продаж: как аналитик превращает размытый вопрос в расследование? Руково…
  3. Oct 13, 2026💻 Почему ваш SQL-запрос выполняется не так, как вы его написали? Кажется логичным, что ба…
  4. Oct 12, 2026#проанализировали_и_поняли
  5. Oct 11, 2026❗️ Перенос вебинара с Евгением Буториным Друзья, к сожалению, по техническим причинам пере…
  6. Oct 9, 2026💻💻💻💻💻 Как выбрать своё направление в аналитике? Решаешь войти в аналитику, открываешь…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →