Explicabilitate locală cu SHAP

AI Explicabil în Python

Fouad Trad

Machine Learning Engineer

Explicabilitate globală vs. locală

Explicabilitate globală
  • Comportamentul general al modelului
  • Nu explică instanțe individuale

Profesor explicând performanța generală a clasei tuturor studenților.

Explicabilitate locală
  • Explică predicția pentru un punct de date specific
  • Esențială pentru aplicații sensibile

Profesor explicând unui student specific motivul din spatele notei sale.

1 Imagini generate de DALL-E
AI Explicabil în Python

Setul de date privind bolile cardiace

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: clasificator KNN care prezice riscul de boli cardiace

AI Explicabil în Python

Explicabilitate locală cu 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)
AI Explicabil în Python

Grafice waterfall SHAP

  • Arată cum caracteristicile cresc sau scad predicția modelului

Grafic waterfall care afișează mai multe caracteristici și contribuția fiecăreia la predicție.

AI Explicabil în Python

Grafice waterfall SHAP

  • Arată cum caracteristicile cresc sau scad predicția modelului

Același grafic waterfall care afișează valoarea de bază, punct de pornire pentru predicție.

AI Explicabil în Python

Grafice waterfall SHAP

  • Arată cum caracteristicile cresc sau scad predicția modelului

Același grafic waterfall care arată că trăsăturile care împing spre dreapta cresc predicția, iar cele spre stânga o scad.

AI Explicabil în Python

Crearea graficelor waterfall

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
AI Explicabil în Python

Grafice waterfall pentru mai multe instanțe

Figură cu patru grafice waterfall, câte unul pentru fiecare eșantion, ilustrând cum diferite eșantioane urmează tipare distincte pentru a ajunge la decizia modelului.

AI Explicabil în Python

Să exersăm!

AI Explicabil în Python

Preparing Video For Download...