Penjelasan lokal dengan SHAP

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Penjelasan global vs. lokal

Penjelasan global
  • Perilaku model secara umum
  • Tidak menjelaskan instance individual

Profesor menjelaskan kinerja umum kelas kepada semua siswa.

Penjelasan lokal
  • Menjelaskan prediksi untuk titik data spesifik
  • Penting untuk aplikasi sensitif

Profesor menjelaskan kepada seorang siswa alasan di balik nilainya.

1 Gambar dibuat oleh DALL-E
Explainable AI in Python

Dataset penyakit jantung

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: Klasifier KNN memprediksi risiko penyakit jantung

Explainable AI in Python

Penjelasan lokal dengan 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 in Python

Plot waterfall SHAP

  • Menunjukkan bagaimana fitur menaikkan/menurunkan prediksi model

Plot waterfall yang menampilkan banyak fitur dan kontribusi masing-masing terhadap prediksi.

Explainable AI in Python

Plot waterfall SHAP

  • Menunjukkan bagaimana fitur menaikkan/menurunkan prediksi model

Plot waterfall yang sama menampilkan nilai baseline, sebagai titik awal prediksi.

Explainable AI in Python

Plot waterfall SHAP

  • Menunjukkan bagaimana fitur menaikkan/menurunkan prediksi model

Plot waterfall yang sama menunjukkan bahwa fitur yang mendorong ke kanan menaikkan prediksi, sedangkan yang mendorong ke kiri menurunkannya.

Explainable AI in Python

Membuat plot waterfall

shap.waterfall_plot(

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

Waterfall untuk beberapa instance

Gambar empat plot waterfall, masing-masing untuk satu sampel, memperlihatkan setiap sampel mengikuti pola berbeda menuju keputusan model.

Explainable AI in Python

Ayo berlatih!

Explainable AI in Python

Preparing Video For Download...