Значения Шепли
Значения Шепли (Shapley values [1]) позволяют объяснить для выбранного объекта вклад значения каждого признака в прогноз модели . Оценка производится для конкретного объекта и конкретного значения выбранного признака. Вклад значений всех признаков и обеспечивает результирующий прогноз.
Рассмотрим в качестве примера задачу Titanic [2], в которой по описанию каждого пассажира (включающему класс билета, пол, возраст и т.д.) нужно предсказать, выжил он в результате кораблекрушения или нет. На рисунке ниже [3] показано объяснение прогнозируемой вероятности выживания для одного из пассажиров:

Видно, что высокая вероятность прогнозируемого выживания 0.93 обеспечивается тем, что пассажир - женщина, которая не путешествовала третьим классом. Однако то, что она не путешествовала первым классом (в one-hot кодировании индикаторы класса - разные признаки) несколько снизило оцениваемую вероятность выжить.
Псевдокод для приближённого расчёта значения Шепли, измеряющего вклад -го признака в прогноз приведён ниже.
Результат: значение Шепли для значения -го признака
Параметры: количество итераций , исследуемый объект , индекс признака , матрица данных , модель машинного обучения .
-
Для всех :
-
Выбрать случайный объект из матрицы данных
-
Случайным образом выбрать перестановку признаков
-
Упорядочить объект :
-
Упорядочить объект :
-
Построить два новых объекта:
- С признаком :
- Без признака :
-