Memvisualisasikan keterjelasan SHAP

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Dataset

age gender bmi children smoker charges
19 0 27.900 0 1 16884.92
18 1 33.770 1 0 1725.55
28 1 33.000 3 0 4449.46
33 1 22.705 0 0 21984.47
32 1 28.880 0 0 3866.85

model: random forest regressor untuk memprediksi charges

import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
Explainable AI in Python

Plot feature importance

  • Menampilkan kontribusi tiap fitur pada keluaran model
shap.summary_plot(shap_values, X, plot_type="bar")

Plot feature importance yang menunjukkan status perokok adalah fitur terpenting.

Explainable AI in Python

Plot beeswarm

  • Menampilkan distribusi nilai SHAP
  • Menyorot arah dan besaran dampak fitur pada prediksi
    • Merah → nilai fitur tinggi
    • Biru → nilai fitur rendah
    • Nilai SHAP > 0 → menaikkan hasil
    • Nilai SHAP < 0 → menurunkan hasil

Plot beeswarm yang menunjukkan distribusi nilai SHAP untuk tiap fitur, dengan warna mewakili nilai fitur.

Explainable AI in Python

Plot beeswarm

  • Menampilkan distribusi nilai SHAP
  • Menyorot arah dan besaran dampak fitur pada prediksi
    • Merah → nilai fitur tinggi
    • Biru → nilai fitur rendah
    • Nilai SHAP > 0 → menaikkan hasil
    • Nilai SHAP < 0 → menurunkan hasil

Plot beeswarm yang sama menyorot bahwa nilai fitur tinggi untuk fitur 'smoker' memiliki nilai SHAP positif.

Explainable AI in Python

Plot beeswarm

  • Menampilkan distribusi nilai SHAP
  • Menyorot arah dan besaran dampak fitur pada prediksi
    • Merah → nilai fitur tinggi
    • Biru → nilai fitur rendah
    • Nilai SHAP > 0 → menaikkan hasil
    • Nilai SHAP < 0 → menurunkan hasil
shap.summary_plot(shap_values, X, 
                  plot_type="dot")

Plot beeswarm yang sama menyorot bahwa nilai fitur rendah untuk fitur 'smoker' memiliki nilai SHAP negatif.

Explainable AI in Python

Partial dependence plot

  • Menampilkan hubungan antara fitur dan hasil prediksi
  • Menunjukkan dampak fitur di seluruh rentangnya
  • Memeriksa apakah hubungan sesuai ekspektasi

Plot partial dependence umum yang menunjukkan hubungan fitur dan hasil sebagai fungsi menurun.

Explainable AI in Python

Partial dependence plot

  • Untuk tiap sampel:
    • Ubah nilai fitur terpilih
    • Tahan fitur lain tetap
    • Prediksi hasil
  • Rata-ratakan hasil dari semua sampel
shap.partial_dependence_plot("age", 
                             model.predict, 
                             X)

Partial dependence plot untuk fitur age yang menunjukkan saat age meningkat, nilai prediksi meningkat.

Explainable AI in Python

Partial dependence plot

  • Untuk tiap sampel:

    • Ubah nilai fitur terpilih
    • Tahan fitur lain tetap
    • Prediksi hasil
  • Rata-ratakan hasil dari semua sampel

shap.partial_dependence_plot("age", 
                             model.predict, 
                             X)

Partial dependence plot yang sama menyorot sebaran nilai age dalam dataset.

Explainable AI in Python

Ayo berlatih!

Explainable AI in Python

Preparing Video For Download...