Перейти к содержанию

SHAP WaterFall

Как интерпретировать WaterFall-график?

SHAP Waterfall-график визуализирует, как каждый признак (feature) повлиял на итоговое предсказание модели для конкретного объекта. Это делается с помощью SHAP-значений — количественной оценки вклада каждого признака в отклонение предсказания от среднего значения.

🪜 Представьте, что вы начинаете с базового предсказания модели (например, среднего значения по обучающим данным) и постепенно «шагаете» по каждому признаку, добавляя или вычитая его вклад — пока не придёте к финальному предсказанию модели для конкретного объекта.


✍️ Пример чтения графика

Разберём, как читается Waterfall-график:

  • Значение E[f(X)] вверху — это базовое значение (baseline), т.е. среднее предсказание модели по всей выборке.
  • Затем идут строчки-признаки:
  • Столбики направо (красные) — признаки увеличивают значение предсказания.
  • Столбики налево (синие) — признаки уменьшают значение предсказания.
  • Вклад каждого признака — это SHAP-значение (сколько он «прибавил» или «убавил» от среднего).
  • В самом верху f(X)финальное предсказание модели для данного объекта.
  • Внизу под графиком расположен слайдер, при помощи которого можно выбирать индекс элемента, график к которому хочется посмотреть

📌 Например:

  • Среднее предсказание: 0.5
  • Sepal Length увеличивает на 0.2
  • Petal Width уменьшает на 0.1
  • = Итоговое предсказание: 0.6

🧠 Итог: как читать WaterFall-график

Чтобы прочитать SHAP Waterfall-график:

  1. Найди базовое значение (baseline) — это стартовая точка (пунктирная прямая x=baseline).
  2. Следи за каждым «шагом» вверх или вниз:
  3. Красный => увеличение предсказания;
  4. Синий => уменьшение предсказания.
  5. Подписи слева подскажут, каково было значение признака.
  6. Вклад признаков позволяют понять, какие были важнее в отдельно взятой единице выборки.
  7. Финал — итоговое предсказание модели.

🧪 Кейс классификации: Iris Dataset

Модель: LogisticRegression

  • Цель: классифицировать вид цветка (setosa, versicolor, virginica).
  • Пример: модель предсказывает versicolor.

Визуализация Iris dataset

🟢 График Waterfall показывает:

  • petal width (cm) = 1.6 — резко повышает вероятность класса versicolor (на 0.3).
  • petal length (cm)снижает вероятность, но незначительно.
  • sepal length (cm) = 6.0 — незначительное влияние.
  • sepal width (cm) = 2.7 — незначительное влияние.

🔍 Вывод: наиболее важный признак для этого конкретного предсказания - petal width.


🧪 Кейс регрессии: California Housing

Модель: KNeighborsRegressor

  • Цель: предсказать стоимость дома по характеристикам района.
  • График: SHAP Waterfall для одного конкретного дома.

Визуализация California Housing dataset

🟢 Waterfall-график показывает:

  • total bedrooms = 129 — сильно повышает цену.
  • population = 322 — тоже сильно повышает цену.
  • total rooms = 880 — сильно понижает предсказание.
  • остальные фичи уже вносят не такой сильный вклад.

🔍 Вывод

  • SHAP Waterfall-график — это способ понять, почему модель приняла то или иное решение для конкретного объекта.
  • Он показывает, какие признаки толкнули предсказание вверх или вниз, и насколько.