LIME ile yerel açıklanabilirlik

Python ile Açıklanabilir AI

Fouad Trad

Machine Learning Engineer

  • LIMELocal Interpretable Model-Agnostic Explanations
  • Karmaşık modellerin tahminlerini açıklar
  • Tekil örnekler üzerinde çalışır
  • Model türünden bağımsızdır

LIME logosu.

Python ile Açıklanabilir AI

LIME açıklayıcıları

  • Farklı veri türlerine uyarlanır

Kullanılabilir LIME açıklayıcılarını gösteren diyagram. İlk olan LIME tabular açıklayıcılarıdır.

Python ile Açıklanabilir AI

LIME açıklayıcıları

  • Farklı veri türlerine uyarlanır

Aynı diyagramda ayrıca Metin Açıklayıcı gösterilir.

Python ile Açıklanabilir AI

LIME açıklayıcıları

  • Farklı veri türlerine uyarlanır
  • Bir örnek etrafında bozulumlar üretir
  • Model çıktısındaki etkiyi görür
  • Açıklama için daha basit bir model kurar

Aynı diyagramda ayrıca Görüntü Açıklayıcı gösterilir.

Python ile Açıklanabilir AI

LIME açıklayıcıları

  • Farklı veri türlerine uyarlanır
  • Bir örnek etrafında bozulumlar üretir
  • Model çıktısındaki etkiyi görür
  • Açıklama için daha basit bir model kurar

Sekmeli açıklayıcı vurgulanmış aynı diyagram.

Python ile Açıklanabilir AI

Kabul veri kümesi

GRE Skoru TOEFL Skoru Üniversite Puanı SOP LOR CGPA Kabul Olasılığı Kabul
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: kabul olasılığını tahmin eder
  • classifier: kabulü tahmin eder
  • Özellikler X içindedir
Python ile Açıklanabilir AI

Tabular açıklayıcı oluşturma

Regresyon
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
)
Sınıflandırma
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
)
Python ile Açıklanabilir AI

Açıklamayı görselleştirme

Regresyon
explanation_reg.as_pyplot_figure()

Her özelliğin regresyon modeline etkisini gösteren çubuk grafik. Özellikler yorumlanabilirliği artırmak için bir aralıkta konumlandırılmıştır.

Sınıflandırma
explanation_class.as_pyplot_figure()

Her özelliğin sınıflandırma modeline etkisini gösteren çubuk grafik. Özellikler yorumlanabilirliği artırmak için bir aralıkta konumlandırılmıştır.

Python ile Açıklanabilir AI

SHAP vs. LIME

SHAP
shap.waterfall_plot(...)

Her özelliğin tahmini pozitif ya da negatif yönde nasıl ittiğini gösteren SHAP şelale grafiği.

LIME
explanation_class.as_pyplot_figure()

Her özelliğin sınıflandırma modeline etkisini gösteren çubuk grafik. Özellikler yorumlanabilirliği artırmak için bir aralıkta konumlandırılmıştır.

Python ile Açıklanabilir AI

Hadi pratik yapalım!

Python ile Açıklanabilir AI

Preparing Video For Download...