Как интерпретировать важность признаков?
Что проверяют
Умеете ли вы отличить цифру из feature_importances_ от реального влияния признака и знаете ли, где эта цифра врёт. Следом обычно спрашивают: «Модель говорит, что важен доход. Значит, если доход вырастет, риск упадёт?»
Как отвечать
Сначала разведите два вопроса: на что опирается модель в целом (глобальная важность) и почему она дала такой прогноз конкретному объекту (локальная). Потом пройдитесь по методам и их слабым местам:
- встроенная важность деревьев (MDI): суммарное уменьшение impurity на сплитах. Считается по обучающей выборке и завышает признаки с большим числом уникальных значений, вплоть до ID. В бустингах смотрите тип:
gainи число сплитов дают разный порядок, а в LightGBM по умолчанию считается именно число сплитов; - permutation importance: перемешиваете один признак на валидации и смотрите падение метрики, в scikit-learn это
sklearn.inspection.permutation_importance. Не зависит от устройства модели, но при коррелированных признаках занижает обоих: модель добирает информацию у соседа; - SHAP: вклад признака в конкретный прогноз относительно среднего. Для деревьев есть быстрый и точный
TreeExplainer. Даёт и глобальную картину через среднее по модулю, и знак влияния: beeswarm-график показывает, при каких значениях признак толкает прогноз вверх; - коэффициенты линейной модели: сравнимы только после стандартизации, иначе вы сравниваете единицы измерения.
Главное, что стоит проговорить: важность описывает модель, а не мир. Она показывает, на что опирается алгоритм при данном наборе признаков, и меняется, если добавить или убрать коррелированные колонки.
Где спотыкаются
Делают причинные выводы. Высокая важность дохода не значит, что рост дохода снизит риск: признак может замещать что-то, чего в данных нет.
Считают важность на обучающих данных. Переобученная модель там опирается на шум, и мусорный признак выглядит полезным, поэтому permutation importance считают на отложенной выборке.
Удаляют признак с низкой важностью, не глядя на корреляции. Если у него есть близнец, важность размазана по обоим: уберёте одного, второй заберёт её себе, а решение выбросить обоих заметно просадит модель.