# Feature Engineering

> Применяйте при определении, реализации или проверке признаков ML и хранилища признаков; проверяйте доступность данных на момент прогноза, соединения с учётом версий, обучение преобразований только на тренировочных данных и совпадение офлайн- и онлайн-значений.

- Skill: `fbakiyev/feature-engineering` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fbakiyev/feature-engineering`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fbakiyev/feature-engineering/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: fbakiyev (https://skillmd.com/u/fbakiyev)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/fbakiyev/feature-engineering

---


# Разработка признаков

## Контракт прогноза

- Определите единицу и момент прогноза, горизонт целевой переменной, владельца и источник признака, ключ сущности, гранулярность, задержку доступности, свежесть и контракт использования при прогнозировании.
- Отличайте время события от момента, когда значение стало доступно для прогноза; сохраняйте историю версий, если последующие исправления меняют исторические признаки.

## Ключевые решения

1. Формируйте исторические признаки только из значений, доступных к соответствующему моменту прогноза, явно задав включение или исключение границ. Более раннее время события не делает поздно поступившую запись доступной задним числом.
2. Выполняйте соединения на уровне единицы прогноза и проверяйте дублирование примеров, пересечение интервалов справочников и отсутствующие сущности. Используйте доступную тогда версию, а не сегодняшнее исправленное значение.
3. Обучайте преобразования, кодировщики, заполнение пропусков и отбор признаков только на тренировочных частях данных. Разделяйте сущности при оценке обобщения на новые сущности и время при оценке будущих прогнозов; сочетайте оба ограничения, только если этого требует заявленный сценарий применения.
4. Сравнивайте офлайн- и онлайн-признаки для одних сущностей и временных меток, включая пропуски, значения по умолчанию, порядок, часовые пояса и свежесть. Общая функция полезна, но не доказывает эквивалентность данных, поступающих на её вход.

## Результат и проверка

- Подготовьте определение или реализацию признака с ключами, правилами времени события и доступности, версиями преобразований, значениями по умолчанию и владельцем.
- Где это применимо, проверьте своевременное, позднее и исправленное значение, а также отсутствующую сущность; измерьте совпадение значений и кратность соединений на представительных примерах.
- Отдельно укажите охват, свежесть, сигналы дрейфа и задержку получения целевой переменной; сам по себе дрейф не доказывает снижение качества прогнозов.
- Используйте существующий контракт признаков или карточку модели, если они доступны и помогают задаче.

## Ограничения

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

