Feature importance (важность признаков) — это семейство методов, которые показывают, насколько каждый входной признак влияет на прогнозы модели или на её качество. Проще говоря, это ответ на вопрос: «Какие признаки модель считает наиболее полезными для предсказания?»

Важно понимать: важность признака — это не свойство самого признака, а свойство связки «признак + модель + данные + метрика». Один и тот же признак может быть важным в одной модели и почти бесполезным в другой.

Зачем нужна feature importance

  • Интерпретировать модель: понять, на что она «опирается».
  • Отобрать признаки и упростить модель.
  • Найти ошибки в данных: например, модель использует «утечку» (leakage).
  • Проверить бизнес-логику: совпадает ли важность с экспертизой.
  • Объяснить прогнозы заинтересованным сторонам.

Основные виды

  1. Глобальная важность
    Показывает важность признака для всей модели и всего набора данных.
    Пример: «Площадь дома — самый важный признак для цены».

  2. Локальная важность
    Показывает, какие признаки повлияли на конкретный прогноз.
    Пример: «Для этого клиента отказ в кредите произошёл в основном из-за долговой нагрузки».

  3. Model-specific (зависит от модели)

    • Коэффициенты линейной регрессии / логистической регрессии.
    • Важность на основе уменьшения impurity в деревьях (Gini importance, Mean Decrease Impurity).
    • Встроенные важности в XGBoost, LightGBM, CatBoost.
  4. Model-agnostic (не зависит от модели)

    • Permutation importance: перемешиваем значения признака и смотрим, насколько упало качество.
    • SHAP: вклады признаков на основе теории игр; даёт локальные объяснения, которые можно усреднить в глобальную важность.
    • Drop-column importance: убираем признак, переобучаем модель, смотрим падение качества.
    • LIME: локальная аппроксимация модели простой моделью.

Как это работает на примере

Модель предсказывает цену квартиры. Признаки: площадь, этаж, расстояние до метро, год постройки.

  • Permutation importance может показать: если перемешать «площадь», ошибка резко вырастет → площадь важна.
  • Если перемешать «год постройки», ошибка почти не изменится → признак маловажен.
  • SHAP для конкретной квартиры покажет: цена высокая в основном из-за площади и близости к метро.

Важные нюансы и ограничения

  • Коррелированные признаки: важность может «размазываться» между ними или, наоборот, завышаться.
  • Высококардинальные признаки: impurity-based важность в деревьях часто завышает важность признаков с большим числом уникальных значений.
  • Не причинность: важный признак не обязательно причинно влияет на目标.
  • Зависит от метрики: важность для ROC-AUC и для MAE может отличаться.
  • Нестабильность: на разных подвыборках важность может сильно меняться.
  • Permutation importance может быть отрицательной: если перемешивание случайно улучшило метрику.

Чем отличается от анализа чувствительности

Feature importance обычно отвечает на вопрос: «Какие признаки важны для модели?»
Анализ чувствительности отвечает шире: «Как именно и насколько выход модели меняется при изменении входа, параметров или предположений?»

Feature importance — это чаще ранжирование признаков.
Анализ чувствительности — это количественная оценка реакции выхода, включая локальные эффекты, взаимодействия и неопределённость.

Итог: feature importance — это инструмент интерпретации моделей, который помогает понять, на какие признаки модель опирается. Но использовать его нужно осторожно: с учётом корреляций, типа модели и бизнес-контекста.