Lokální vysvětlitelnost pomocí SHAP

Explainable AI v Pythonu

Fouad Trad

Machine Learning Engineer

Globální vs. lokální vysvětlitelnost

Globální vysvětlitelnost
  • Celkové chování modelu
  • Nevysvětluje jednotlivé instance

Profesor vysvětluje celkové výsledky třídy všem studentům.

Lokální vysvětlitelnost
  • Vysvětluje predikci pro konkrétní datový bod
  • Klíčová pro citlivé aplikace

Profesor vysvětluje konkrétnímu studentovi důvod jeho hodnocení.

1 Obrázky generovány nástrojem DALL-E
Explainable AI v Pythonu

Dataset srdečních onemocnění

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: Klasifikátor KNN predikující riziko srdečního onemocnění

Explainable AI v Pythonu

Lokální vysvětlitelnost pomocí 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)
Explainable AI v Pythonu

Vodopádové grafy SHAP

  • Zobrazuje, jak příznaky zvyšují nebo snižují predikci modelu

Vodopádový graf zobrazující více příznaků a příspěvek každého z nich k predikci.

Explainable AI v Pythonu

Vodopádové grafy SHAP

  • Zobrazuje, jak příznaky zvyšují nebo snižují predikci modelu

Stejný vodopádový graf zobrazující základní hodnotu, která slouží jako výchozí bod pro predikci.

Explainable AI v Pythonu

Vodopádové grafy SHAP

  • Zobrazuje, jak příznaky zvyšují nebo snižují predikci modelu

Stejný vodopádový graf znázorňující, že příznaky posouvající se doprava predikci zvyšují, zatímco příznaky doleva ji snižují.

Explainable AI v Pythonu

Vytváření vodopádových grafů

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
Explainable AI v Pythonu

Vodopádové grafy pro více instancí

Obrázek zobrazující čtyři vodopádové grafy, jeden pro každý vzorek, ilustrující, jak různé vzorky sledují odlišné vzory při dosažení rozhodnutí modelu.

Explainable AI v Pythonu

Pojďme procvičovat!

Explainable AI v Pythonu

Preparing Video For Download...