Урок по треку Классический ML 7 мин

Признаки и интерпретация моделей за 7 минут

Кодирование категорий, пропуски, масштабирование, тексты и даты, отбор признаков, важности и SHAP.

На табличных данных хорошие признаки дают больше, чем выбор модели. А когда модель готова, её приходится объяснять бизнесу и регулятору. Обе темы регулярно встречаются на собесе middle и senior.

Категориальные признаки

  • One-hot: столбец на значение. Хорош при малой кардинальности.
  • Частотное кодирование: доля значения в данных.
  • Target encoding: среднее значение цели по категории. Опасен утечкой: считайте вне фолда (out-of-fold) и со сглаживанием к глобальному среднему.
enc(c) = (сумма y в c + m · глобальное_среднее) / (число объектов c + m)
  • Hashing trick: фиксированное число столбцов через хеш, без словаря, ценой коллизий.
  • Эмбеддинги в нейросетях и встроенная обработка в CatBoost.

Пропуски

Пропуск часто информативен. Заполняйте статистикой по трейну и добавляйте индикатор «значение отсутствует». Бустинги обрабатывают пропуски сами. Удалять строки опасно: выборка смещается, если пропуски не случайны.

Числа, даты, тексты

  • Деньги и счётчики с тяжёлым хвостом логарифмируют (для линейных моделей и нейросетей).
  • Даты: день недели, месяц, праздники, дни до события. Циклические признаки кодируют sin и cos, чтобы 23:00 и 00:00 были рядом.
  • Агрегаты по окнам: суммы, частоты, тренды за 7, 30, 90 дней, давность последнего события.
  • Тексты: TF-IDF как сильный бейзлайн, эмбеддинги языковых моделей.

TF-IDF: tf это доля слова в документе, idf = ln(N / df). Слово, встречающееся во всех документах, получает idf = 0. В 4 документах слово из одного документа получает ln 4 ≈ 1.39.

Point-in-time и feature store

Каждый признак должен считаться по данным строго до момента прогноза. Чтобы в проде признаки считались так же, как в обучении, их держат в общем коде или feature store, иначе возникает training-serving skew.

Отбор признаков

  • Фильтры (корреляция, взаимная информация), обёртки (последовательный отбор), встроенные методы (L1, важности деревьев).
  • Отбор это часть обучения: делайте его внутри фолдов. Иначе из 10 000 шумовых признаков найдутся 100, «подтверждённые» кросс-валидацией.

Интерпретация

Глобальные важности:

  • встроенная split или gain importance деревьев: быстрая, но завышает признаки с большим числом значений;
  • permutation importance: перемешать признак на валидации и посмотреть падение метрики; при коррелированных признаках важность размазывается;
  • средние |SHAP|.

SHAP для одного предсказания раскладывает отклонение от базового значения на вклады признаков: base + Σ вкладов = прогноз. Основан на значениях Шепли, для деревьев есть быстрый TreeSHAP.

PDP и ICE показывают, как меняется прогноз при изменении признака. При коррелированных признаках подставляются нереалистичные комбинации.

Главная оговорка: интерпретация объясняет модель, а не мир. «Увеличим признак, и цель вырастет» требует причинного анализа.

В регулируемых областях (кредиты) используют скоркарты на логистической регрессии или бустинг с монотонными ограничениями и называют причины отказа.

Частые ошибки

  • Target encoding по всему трейну, включая сам объект.
  • Заполнять пропуски статистиками по всем данным вместе с тестом.
  • Отбирать признаки до кросс-валидации.
  • Выдавать SHAP за причинный эффект.

Что спросят на собесе

  • Как кодировать категорию с тысячами значений.
  • Как правильно делать target encoding.
  • Как обрабатывать пропуски и даты.
  • Permutation importance против встроенной важности, что такое SHAP.
  • Как объяснить бизнесу отказ конкретному клиенту.

Закрепите за 5 минут

После урока в тренажёре 3-5 проверочных вопросов, дальше модуль уходит в повторения.