Можно ли использовать дополнительные признаки для улучшения модели?
Что проверяют
Понимаете ли вы, что новый признак это гипотеза, которую надо доказать валидацией, а не очевидное улучшение. Следом просят показать, как вы проверите пользу признака в коде, и спрашивают про утечку целевой переменной.
Как отвечать
Да, и признаки часто дают больший прирост, чем смена модели или подбор гиперпараметров. Но ответ стоит строить вокруг проверки, а не вокруг «добавим побольше».
Откуда берутся признаки:
- производные: отношения и разности (цена за квадратный метр), части даты, флаги праздников;
- агрегаты по истории: среднее по пользователю за 7 и 30 дней, лаги, скользящие окна;
- кодирование категорий: target encoding только out-of-fold, иначе модель видит ответ;
- внешние данные: погода, справочники, геоданные, если они доступны в момент прогноза.
Как проверять. Фиксируете схему валидации (для временных данных TimeSeriesSplit или разбиение по дате, а не случайное), считаете метрику с признаком и без на нескольких фолдах и смотрите на разброс, а не на одно число. Всю предобработку кладёте в Pipeline, чтобы cross_val_score обучал скейлеры и энкодеры только на трейне фолда. Вклад признака оценивают через permutation_importance из sklearn.inspection или SHAP. Встроенный feature_importances_ у деревьев завышает значимость признаков с большим числом уникальных значений.
Полезно добавить диагностику: если модель недообучена и ошибка высокая уже на трейне, новые признаки помогают. Если велик разрыв между трейном и валидацией, лишние признаки только усилят переобучение, там нужны регуляризация, L1 или отбор (RFE, Boruta).
И не забудьте прод: признак должен считаться при инференсе той же логикой, иначе офлайн-прирост не доедет до пользователей.
Где спотыкаются
Добавляют признак с утечкой: данные, которые появляются после события (статус заказа при прогнозе отмены), или агрегат, посчитанный по всему датасету вместе с будущим. Метрика растёт подозрительно сильно.
Сравнивают по одному разбиению. Прирост в третьем знаке на одном сплите часто оказывается шумом.
Много раз подбирают признаки по тестовой выборке. Она превращается в ещё одну валидацию, и итоговая оценка становится оптимистичной.