Penjelasan lokal dengan LIME

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

  • LIMELocal Interpretable Model-Agnostic Explanations
  • Menjelaskan prediksi model kompleks
  • Bekerja pada tiap instance
  • Agnostik terhadap jenis model

Logo LIME.

Explainable AI in Python

LIME Explainers

  • Disesuaikan untuk berbagai jenis data

Diagram yang menampilkan LIME explainers yang tersedia. Yang pertama adalah LIME tabular explainers.

Explainable AI in Python

LIME Explainers

  • Disesuaikan untuk berbagai jenis data

Diagram yang sama kini juga menampilkan Text Explainer.

Explainable AI in Python

LIME Explainers

  • Disesuaikan untuk berbagai jenis data
  • Membuat gangguan di sekitar sampel
  • Melihat dampak pada keluaran model
  • Membangun model lebih sederhana untuk penjelasan

Diagram yang sama kini juga menampilkan Image Explainer.

Explainable AI in Python

LIME Explainers

  • Disesuaikan untuk berbagai jenis data
  • Membuat gangguan di sekitar sampel
  • Melihat dampak pada keluaran model
  • Membangun model lebih sederhana untuk penjelasan

Diagram yang sama dengan penyorotan Tabular explainer.

Explainable AI in Python

Dataset penerimaan

GRE Score TOEFL Score University Rating SOP LOR CGPA Chance of Admit Accept
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0

 

  • regressor: memprediksi peluang diterima
  • classifier: memprediksi penerimaan
  • Fitur dalam X
Explainable AI in Python

Membuat tabular explainer

Regresi
from lime.lime_tabular import LimeTabularExplainer

instance = X.iloc[1,:]
explainer_reg = LimeTabularExplainer( X.values,
feature_names=X.columns,
mode='regression'
)
explanation_reg = explainer_reg.explain_instance(
instance.values,
regressor.predict
)
Klasifikasi
from lime.lime_tabular import LimeTabularExplainer

instance = X.iloc[1,:]
explainer_class = LimeTabularExplainer( X.values,
feature_names=X.columns,
mode='classification'
)
explanation_class = explainer_class.explain_instance(
instance.values,
classifier.predict_proba
)
Explainable AI in Python

Memvisualkan penjelasan

Regresi
explanation_reg.as_pyplot_figure()

Plot batang yang menampilkan efek tiap fitur pada model regresi. Fitur ditempatkan dalam rentang untuk mempermudah interpretasi.

Klasifikasi
explanation_class.as_pyplot_figure()

Plot batang yang menampilkan efek tiap fitur pada model klasifikasi. Fitur ditempatkan dalam rentang untuk mempermudah interpretasi.

Explainable AI in Python

SHAP vs. LIME

SHAP
shap.waterfall_plot(...)

Plot waterfall SHAP yang menunjukkan bagaimana tiap fitur mendorong prediksi secara positif atau negatif.

LIME
explanation_class.as_pyplot_figure()

Plot batang yang menampilkan efek tiap fitur pada model klasifikasi. Fitur ditempatkan dalam rentang untuk mempermudah interpretasi.

Explainable AI in Python

Ayo berlatih!

Explainable AI in Python

Preparing Video For Download...