Локальна пояснюваність із SHAP

Пояснюваний ШІ в Python

Fouad Trad

Machine Learning Engineer

Глобальна vs локальна пояснюваність

Глобальна пояснюваність
  • Загальна поведінка моделі
  • Не пояснює окремі випадки

Професор пояснює загальні результати класу всім студентам.

Локальна пояснюваність
  • Пояснює прогноз для конкретної точки даних
  • Критично важливо для чутливих застосунків

Професор пояснює конкретному студенту причину його оцінки.

1 Images generated by DALL-E
Пояснюваний ШІ в Python

Набір даних про серцеві хвороби

age sex chest_pain_type blood_pressure ecg_results thalassemia target
52 1 0 125 1 3 0
53 1 0 140 0 3 0
70 1 0 145 1 3 0
61 1 0 148 1 3 0
62 0 0 138 1 2 0

 

knn: класифікатор KNN для прогнозування ризику серцевої хвороби

Пояснюваний ШІ в Python

Локальна пояснюваність із SHAP

explainer = shap.KernelExplainer(knn.predict_proba, shap.kmeans(X, 10))

test_instance = X.iloc[0, :]
shap_values = explainer.shap_values(test_instance)
print(shap_values.shape)
(6, 2)
Пояснюваний ШІ в Python

Діаграми-водоспади SHAP

  • Показує, як ознаки підвищують або знижують прогноз моделі

Діаграма-водоспад, що показує кілька ознак і внесок кожної у прогноз.

Пояснюваний ШІ в Python

Діаграми-водоспади SHAP

  • Показує, як ознаки підвищують або знижують прогноз моделі

Та сама діаграма-водоспад із базовим значенням, що слугує початковою точкою прогнозу.

Пояснюваний ШІ в Python

Діаграми-водоспади SHAP

  • Показує, як ознаки підвищують або знижують прогноз моделі

Та сама діаграма-водоспад показує, що ознаки, які штовхають вправо, підвищують прогноз, а ті, що вліво, — знижують.

Пояснюваний ШІ в Python

Створення діаграм-водоспадів

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
Пояснюваний ШІ в Python

Водоспади для кількох екземплярів

Зображення з чотирма діаграмами-водоспадами — по одній на зразок — що ілюструють різні шляхи до рішення моделі.

Пояснюваний ШІ в Python

Давайте потренуємось!

Пояснюваний ШІ в Python

Preparing Video For Download...