Lokalna wyjaśnialność z SHAP

Wyjaśnialne AI w Pythonie

Fouad Trad

Machine Learning Engineer

Wyjaśnialność globalna a lokalna

Wyjaśnialność globalna
  • Ogólne zachowanie modelu
  • Nie wyjaśnia pojedynczych instancji

Profesor wyjaśniający ogólne wyniki klasy wszystkim uczniom.

Wyjaśnialność lokalna
  • Wyjaśnia predykcję dla konkretnego punktu danych
  • Kluczowa w wrażliwych zastosowaniach

Profesor wyjaśniający konkretnemu uczniowi powód jego oceny.

1 Obrazy wygenerowane przez DALL-E
Wyjaśnialne AI w Pythonie

Zbiór danych o chorobach serca

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: klasyfikator KNN przewidujący ryzyko choroby serca

Wyjaśnialne AI w Pythonie

Lokalna wyjaśnialność z 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)
Wyjaśnialne AI w Pythonie

Wykresy kaskadowe SHAP

  • Pokazuje, jak cechy zwiększają lub zmniejszają predykcję modelu

Wykres kaskadowy przedstawiający wiele cech i wkład każdej z nich w predykcję.

Wyjaśnialne AI w Pythonie

Wykresy kaskadowe SHAP

  • Pokazuje, jak cechy zwiększają lub zmniejszają predykcję modelu

Ten sam wykres kaskadowy przedstawiający wartość bazową jako punkt wyjścia predykcji.

Wyjaśnialne AI w Pythonie

Wykresy kaskadowe SHAP

  • Pokazuje, jak cechy zwiększają lub zmniejszają predykcję modelu

Ten sam wykres kaskadowy pokazujący, że cechy skierowane w prawo zwiększają predykcję, a skierowane w lewo – zmniejszają ją.

Wyjaśnialne AI w Pythonie

Tworzenie wykresów kaskadowych

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
Wyjaśnialne AI w Pythonie

Wykresy kaskadowe dla wielu instancji

Rysunek przedstawiający cztery wykresy kaskadowe – po jednym dla każdej próbki – ilustrujące, jak różne próbki podążają odmiennymi ścieżkami do decyzji modelu.

Wyjaśnialne AI w Pythonie

Czas na ćwiczenia!

Wyjaśnialne AI w Pythonie

Preparing Video For Download...