Lokal förklarbarhet med SHAP

Förklarbar AI i Python

Fouad Trad

Machine Learning Engineer

Global vs. lokal förklarbarhet

Global förklarbarhet
  • Övergripande modellbeteende
  • Förklarar inte enskilda instanser

Professor som förklarar klassens generella resultat för alla elever.

Lokal förklarbarhet
  • Förklarar förutsägelsen för en specifik datapunkt
  • Avgörande för känsliga tillämpningar

Professor som förklarar för en enskild elev anledningen till deras betyg.

1 Bilder genererade av DALL-E
Förklarbar AI i Python

Hjärtsjukdomsdatamängd

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-klassificerare som förutsäger risk för hjärtsjukdom

Förklarbar AI i Python

Lokal förklarbarhet med 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)
Förklarbar AI i Python

SHAP-vattenfallsdiagram

  • Visar hur särdrag ökar eller minskar modellens förutsägelse

Ett vattenfallsdiagram som visar flera särdrag och varje särdras bidrag till förutsägelsen.

Förklarbar AI i Python

SHAP-vattenfallsdiagram

  • Visar hur särdrag ökar eller minskar modellens förutsägelse

Samma vattenfallsdiagram som visar basvärdet, vilket fungerar som startpunkt för förutsägelsen.

Förklarbar AI i Python

SHAP-vattenfallsdiagram

  • Visar hur särdrag ökar eller minskar modellens förutsägelse

Samma vattenfallsdiagram som visar att särdrag som pekar åt höger ökar förutsägelsen medan särdrag som pekar åt vänster minskar den.

Förklarbar AI i Python

Skapa vattenfallsdiagram

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
Förklarbar AI i Python

Vattenfallsdiagram för flera instanser

Figur med fyra vattenfallsdiagram, ett per urval, som illustrerar hur olika urval följer skilda mönster för att nå modellens beslut.

Förklarbar AI i Python

Nu kör vi en övning!

Förklarbar AI i Python

Preparing Video For Download...