SHAP ile yerel açıklanabilirlik

Python ile Açıklanabilir AI

Fouad Trad

Machine Learning Engineer

Küresel vs. yerel açıklanabilirlik

Küresel açıklanabilirlik
  • Modelin genel davranışı
  • Tekil örnekleri açıklamaz

Profesörün sınıfın genel performansını tüm öğrencilere anlattığı görsel.

Yerel açıklanabilirlik
  • Belirli bir veri noktası için tahmini açıklar
  • Hassas uygulamalar için kritiktir

Profesörün belirli bir öğrenciye notunun nedenini açıkladığı görsel.

1 Görseller DALL-E tarafından üretildi
Python ile Açıklanabilir AI

Kalp hastalığı veri kümesi

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: Kalp hastalığı riskini tahmin eden KNN sınıflandırıcısı

Python ile Açıklanabilir AI

SHAP ile yerel açıklanabilirlik

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 ile Açıklanabilir AI

SHAP şelale grafikleri

  • Özelliklerin tahmini nasıl artırıp azalttığını gösterir

Birden çok özellik ve her birinin tahmine katkısını gösteren şelale grafiği.

Python ile Açıklanabilir AI

SHAP şelale grafikleri

  • Özelliklerin tahmini nasıl artırıp azalttığını gösterir

Temel değeri gösteren ve tahmin için başlangıç noktası olarak hizmet eden aynı şelale grafiği.

Python ile Açıklanabilir AI

SHAP şelale grafikleri

  • Özelliklerin tahmini nasıl artırıp azalttığını gösterir

Şelale grafiklerinde sağa iten özelliklerin tahmini artırdığını, sola itenlerin azalttığını gösteren aynı grafik.

Python ile Açıklanabilir AI

Şelale grafikleri oluşturma

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
Python ile Açıklanabilir AI

Birden çok örnek için şelaleler

Dört örnek için birer şelale grafiği gösteren şekil; farklı örneklerin modele giden farklı yolları izlediğini gösterir.

Python ile Açıklanabilir AI

Haydi pratik yapalım!

Python ile Açıklanabilir AI

Preparing Video For Download...