Açıklanabilirlik metrikleri

Python ile Açıklanabilir AI

Fouad Trad

Machine Learning Engineer

Tutarlılık

  • Model farklı alt kümelerde eğitildiğinde açıklamaların kararlılığını değerlendirir
  • Düşük tutarlılık → sağlam açıklamalar yok

Bir veri seti iki alt kümeye ayrılmıştır: alt küme 1 ve alt küme 2.

Python ile Açıklanabilir AI

Tutarlılık

  • Model farklı alt kümelerde eğitildiğinde açıklamaların kararlılığını değerlendirir
  • Düşük tutarlılık → sağlam açıklamalar yok

Her alt kümede model eğitilir.

Python ile Açıklanabilir AI

Tutarlılık

  • Model farklı alt kümelerde eğitildiğinde açıklamaların kararlılığını değerlendirir
  • Düşük tutarlılık → sağlam açıklamalar yok

Her seferinde model bir alt kümede eğitilir, özellik önemleri çıkarılır ve bunlar için kosinüs benzerliği hesaplanır.

Python ile Açıklanabilir AI

Tutarlılığı ölçmek için kosinüs benzerliği

 

 

 

Tutarlılık için ana değerler ve anlamları: 1 için açıklamalar yüksek tutarlı.

Python ile Açıklanabilir AI

Tutarlılığı ölçmek için kosinüs benzerliği

 

 

 

Tutarlılık için ana değerler ve anlamları: 1 için açıklamalar yüksek tutarlı, 0 için tutarlı değil.

Python ile Açıklanabilir AI

Tutarlılığı ölçmek için kosinüs benzerliği

 

 

 

Tutarlılık için ana değerler ve anlamları: 1 için açıklamalar yüksek tutarlı, 0 için tutarlı değil, -1 için zıt açıklamalar.

Python ile Açıklanabilir AI

Kabul veri seti

GRE Skoru TOEFL Skoru Üniversite Derecesi SOP LOR CGPA Kabul Olasılığı
337 118 4 4.5 4.5 9.65 0.92
324 107 4 4 4.5 8.87 0.76
316 104 3 3 3.5 8 0.72
322 110 3 3.5 2.5 8.67 0.8
314 103 2 2 3 8.21 0.45

 

  • X1, y1: veri setinin ilk kısmı
  • X2, y2: veri setinin ikinci kısmı
  • model1, model2: rastgele orman regresörleri
Python ile Açıklanabilir AI

Tutarlılığı hesaplama

from sklearn.metrics.pairwise import cosine_similarity

explainer1 = shap.TreeExplainer(model1) explainer2 = shap.TreeExplainer(model2)
shap_values1 = explainer1.shap_values(X1) shap_values2 = explainer2.shap_values(X2)
feature_importance1 = np.mean(np.abs(shap_values1), axis=0) feature_importance2 = np.mean(np.abs(shap_values2), axis=0)
consistency = cosine_similarity([feature_importance1], [feature_importance2]) print("Consistency between SHAP values:", consistency)
Consistency between SHAP values: [[0.99706516]]
Python ile Açıklanabilir AI

Sadakat (Faithfulness)

  • Önemli özellikler model tahminlerini etkiliyor mu, değerlendirir
  • Düşük sadakat → modelin gerekçesine güveni saptırır
  • Hassas uygulamalarda yararlı

Bir girdiye modelin özgün bir tahmin üretmesini gösteren görsel.

Python ile Açıklanabilir AI

Sadakat (Faithfulness)

  • Önemli özellikler model tahminlerini etkiliyor mu, değerlendirir
  • Düşük sadakat → modelin gerekçesine güveni saptırır
  • Hassas uygulamalarda yararlı

Bu özgün tahmini yerel olarak açıklamak için SHAP veya LIME kullanılır.

Python ile Açıklanabilir AI

Sadakat (Faithfulness)

  • Önemli özellikler model tahminlerini etkiliyor mu, değerlendirir
  • Düşük sadakat → modelin gerekçesine güveni saptırır
  • Hassas uygulamalarda yararlı

Değiştirilmiş örnek modele verilerek yeni bir tahmin üretilir.

Python ile Açıklanabilir AI

Sadakat (Faithfulness)

  • Önemli özellikler model tahminlerini etkiliyor mu, değerlendirir
  • Düşük sadakat → modelin gerekçesine güveni saptırır
  • Hassas uygulamalarda yararlı

Sadakatin, yeni tahmin ile özgün tahmin arasındaki farkın mutlak değeri olarak türetilen formülünü gösteren görsel.

Python ile Açıklanabilir AI

Sadakati hesaplama

X_instance = X_test.iloc[[0]]

original_prediction = model.predict_proba(X_instance)[0, 1] print(f"Original prediction: {original_prediction}")
Original prediction: 0.43

Seçilen örnek için LIME'ın özellik önemini gösteren açıklaması.

Python ile Açıklanabilir AI

Sadakati hesaplama

X_instance['GRE Score'] = 310  


new_prediction = model.predict_proba(X_instance)[0, 1] print(f"Prediction after perturbing {important_feature}: {new_prediction}")
faithfulness_score = np.abs(original_prediction - new_prediction) print(f"Local Faithfulness Score: {faithfulness_score}")
Prediction after perturbing GRE Score: 0.77

Local Faithfulness Score: 0.34
Python ile Açıklanabilir AI

Ayo berlatih!

Python ile Açıklanabilir AI

Preparing Video For Download...