0Pricing
Learn AI with Python · Pelajaran

Nilai SHAP untuk Penjelasan Model

shap.Explainer, TreeExplainer, plot gaya force, plot beeswarm, pemeringkatan kepentingan fitur.

Nilai SHAP untuk Penjelasan Model adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Mengapa Keterjelasan Penting

Model yang kompleks memang akurat, tetapi tidak transparan. Keterjelasan menjawab pertanyaan "mengapa model membuat prediksi ini?", yang penting untuk membangun kepercayaan, melakukan pengawakutuan, dan memenuhi peraturan. SHAP adalah salah satu metode penjelasan yang paling banyak digunakan.

Apa yang Diukur SHAP

SHAP (SHapley Additive exPlanations) memberikan setiap fitur sebuah kontribusi terhadap satu prediksi. Nilai-nilai ini didasarkan pada nilai Shapley dari teori permainan kooperatif: setiap fitur adalah "pemain", dan nilai SHAP-nya merupakan bagian adil dari prediksi relatif terhadap nilai dasar.

Aditivitas

Nilai SHAP bersifat aditif: nilai dasar (keluaran model rata-rata) ditambah jumlah semua nilai SHAP fitur sama dengan prediksi sebenarnya. Dengan demikian, setiap penjelasan menjadi pencatatan lengkap dan dapat diaudit atas keluaran tersebut.

# prediction = base_value + sum(shap_values_for_each_feature)

TreeExplainer

Untuk model berbasis pohon (XGBoost, LightGBM, hutan acak), shap.TreeExplainer menghitung nilai SHAP secara tepat dan cepat dengan memanfaatkan struktur pohon.

import shap
import xgboost

model = xgboost.XGBClassifier().fit(X_train, y_train)
explainer = shap.TreeExplainer(model)

Menghitung shap_values

explainer.shap_values(X_test) mengembalikan sebuah matriks: satu nilai SHAP untuk setiap fitur pada setiap baris. Nilai-nilai ini adalah kontribusi mentah yang akan Anda visualisasikan.

shap_values = explainer.shap_values(X_test)
print(shap_values.shape)  # (n_samples, n_features)

Diagram Titik `summary_plot`

shap.summary_plot menghasilkan diagram sebaran titik: setiap titik adalah satu sampel untuk satu fitur. Posisi menunjukkan nilai SHAP (arah dan besarnya dampak); warna menunjukkan nilai fitur. Fitur diurutkan berdasarkan kepentingan keseluruhan.

shap.summary_plot(shap_values, X_test)

Membaca Diagram Sebaran Titik

Untuk membaca diagram sebaran titik:

  • Fitur di bagian atas paling penting secara keseluruhan
  • Titik yang jauh di kanan menaikkan prediksi; titik yang jauh di kiri menurunkannya
  • Warna menunjukkan arah, misalnya nilai fitur tinggi (merah) di sebelah kanan berarti "nilai tinggi meningkatkan prediksi"

Menjelaskan Satu Prediksi

SHAP sangat bermanfaat pada tingkat individual. Untuk menjelaskan satu baris, Anda memerlukan nilai SHAP dan nilai dasar model.

idx = 0
base = explainer.expected_value
row_shap = shap_values[idx]

force_plot

shap.force_plot menampilkan satu prediksi sebagai gaya yang mendorong dari nilai dasar: fitur berwarna merah mendorong keluaran menjadi lebih tinggi, sedangkan fitur berwarna biru mendorongnya menjadi lebih rendah. Hasil akhirnya berada pada prediksi akhir.

shap.force_plot(
    explainer.expected_value,
    shap_values[0],
    X_test.iloc[0],
)

waterfall_plot

shap.waterfall_plot adalah tampilan prediksi tunggal yang paling mudah dibaca. Tampilan ini dimulai dari nilai dasar dan menumpuk kontribusi setiap fitur langkah demi langkah hingga mencapai keluaran akhir, dengan urutan berdasarkan besarnya kontribusi.

shap.waterfall_plot(
    shap.Explanation(
        values=shap_values[0],
        base_values=explainer.expected_value,
        data=X_test.iloc[0],
    )
)

Global dan Lokal

SHAP memenuhi dua kebutuhan:

  • Global: summary_plot menunjukkan fitur mana yang secara keseluruhan paling memengaruhi model
  • Lokal: force_plot dan waterfall_plot menjelaskan satu prediksi tertentu

Keduanya berasal dari nilai SHAP yang sama, sehingga memberikan penjelasan yang konsisten pada berbagai skala.

Uji Singkat

Uji pengetahuan Anda tentang SHAP.

Ringkasan

Anda telah mempelajari keterjelasan model dengan SHAP:

  • shap.TreeExplainer(model) menghitung nilai secara tepat untuk model berbasis pohon
  • explainer.shap_values(X_test) mengembalikan kontribusi setiap fitur
  • Diagram sebaran titik summary_plot menunjukkan kepentingan global
  • force_plot dan waterfall_plot menjelaskan satu prediksi
  • Nilai SHAP bersifat aditif: nilai dasar + kontribusi = prediksi

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Nilai SHAP untuk Penjelasan Model” gratis?

Ya — teks lengkap “Nilai SHAP untuk Penjelasan Model” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Nilai SHAP untuk Penjelasan Model”?

shap.Explainer, TreeExplainer, plot gaya force, plot beeswarm, pemeringkatan kepentingan fitur. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Nilai SHAP untuk Penjelasan Model” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mendeteksi Bias dalam Model Pembelajaran Mesin
  2. Nilai SHAP untuk Penjelasan Model
  3. LIME: Penjelasan Lokal yang Dapat Diinterpretasikan
  4. Kerangka Etika dan Tata Kelola Kecerdasan Buatan
← Kembali ke Learn AI with Python