Permutation Importance
https://t.me/jdata_blogПеретасовочная важность (Permutation Importance) — метод интерпретируемости для моделей машинного обучения. Он основан на гипотезе, что если признак не является важным, то перетасовка его значений случайным образом не должна существенно изменить качество модели.
Шаги работы метода Permutation Importance
Рассмотрим задачу классификации на наборе данных, описывающем людей. Будем думать — дать человеку кредит или нет по его признакам — пол, возраст, количество детей, доход и так далее.
Шаги вычисления Permutation Importance будут следующими:
- Обучение модели.
- Вычисление качества модели на тестовом наборе данных — так называемого базового значения.
- Перетасовка признаков — для каждого признака в наборе данных производим перестановку его значений в тестовом наборе данных. Например, поменяем случайным образом доход человека.
- Вычисление важности — после перетасовки значений для каждого признака снова оцениваем метрику качества модели на тестовом наборе данных. Пусть в нашем примере качество "до" было 0.9, "после" — стало 0.81. Затем вычисляем разницу между базовым метрики и новым значениями метрики — 0.9 - 0.81 = 0.09.
- Усреднение — повторяем шаги 3, 4 для более точной оценки.
- Оценка всех признаков —шаги 3 — 5 повторяем для каждого признака в наборе данных.
Пример результатов
Предположим, после выполнения метода "Permutation Importance" мы получили следующие значения важности для признаков:
Доход: 0.09
Пол: 0.018
Количество детей: 0.042
...
Эти значения означают, что доход, пол и количество детей билета вносят важный вклад в предсказания модели.
Пример результатов 2: Функция XOR
Логическая функция. Каждый раз на вход подается пара чисел, где:
XOR(0, 0) = 0
XOR(0, 1) = 1
XOR(1, 0) = 1
XOR(1, 1) = 0.

Здесь при перетасовке признаков получим интуитивно и логически корректный ответ — оба признака важны одинаково.
Как интерпретировать метод:
Пусть после применения получилась следующая таблица (источник).

Такой вид выхода обычен для метода — список или таблица, в которой перечислены признаки и их оценки важности.
Интерпретация результатов метода следующая:
- Важные признаки имеют положительные веса. Чем выше вес, тем более значим признак для модели.
- Признаки с отрицательной важностью — это те, которые при перетасовке приводят к улучшению качества модели.
- Иногда в выходе работы метода могут быть числа после символа , это — интервалы, отражающие неопределнность оценки.
- Сумма всех важностей признаков есть их совокупный вклад в качество модели. Обычно. Но это не всегда так — например в функциях AND, OR или, как мы видели выше — в XOR.
На что может указывать отрицательная или нулевая важность признака:
- Признак несет ненужную или дублирующую информацию — если два признака скоррелированы, то при перетасовке один из них будет иметь положительный вес, а другой — около нулевой.
Пример: предсказывается рост человека по 4м признакам — длина левой и правой рук и левой и правой ног. Если выкинуть (или случайно перетасовать) один из коррелирующих признаков – прогноз модели не изменится. - Признак содержит много шума или случайности. Тогда при перетасовке шум устраняется и в некоторых случаях это может улучшить обобщающую способность модели.
Где найти метод?
В библиотеках! Метод перетасовочной важности реализован в различных:
- sklearn
- captum
- alibi
- shap — permutation-based SHAP-values
- eli5 (выход — изображение из примера)
- Explainer dashboard
- Permutation Importance
Последняя библиотека (Permutation Importance) имеет широкий список продвинутых вариантов реализации метода перетасовочной важности. Она позволяет вычислять перетасовочную важность на трёх уровнях:
- для sklearn моделей (Model-based level)
- для моделей, не совместимых со sklearn (Model-specific level)
- на основе собственных стратегий перетасовки (Method-agnostic)
Такие дела.
Как резюме:
Permutation Importance — простой и интуитивно понятный метод, позволяющий лучше понять, какие признаки вносят наибольший вклад в работу модели. Выводы далее можно использовать при оптимизации модели или набора признаков, однако следует помнить, что выходные значения метода — не руководство к дейтсвию, а повод к дальнешему анализу.
Успешных проектов,
Ваш Дата-автор =)