SHAP açıklamalarını görselleştirme

Python ile Açıklanabilir AI

Fouad Trad

Machine Learning Engineer

Veri kümesi

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: ücretleri tahmin eden rastgele orman regresörü

import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
Python ile Açıklanabilir AI

Özellik önem grafiği

  • Her özelliğin model çıktısına katkısını gösterir
shap.summary_plot(shap_values, X, plot_type="bar")

Özellik önem grafiği; sigara içme durumunun en önemli özellik olduğunu gösterir.

Python ile Açıklanabilir AI

Beeswarm grafiği

  • SHAP değerlerinin dağılımını gösterir
  • Her özelliğin tahmin üzerindeki yönünü ve büyüklüğünü vurgular
    • Kırmızı → yüksek özellik değeri
    • Mavi → düşük özellik değeri
    • SHAP değeri > 0 → sonucu artırır
    • SHAP değeri < 0 → sonucu azaltır

Her özellik için SHAP değer dağılımını ve renklerle özellik değerlerini gösteren arı sürüsü grafiği.

Python ile Açıklanabilir AI

Beeswarm grafiği

  • SHAP değerlerinin dağılımını gösterir
  • Her özelliğin tahmin üzerindeki yönünü ve büyüklüğünü vurgular
    • Kırmızı → yüksek özellik değeri
    • Mavi → düşük özellik değeri
    • SHAP değeri > 0 → sonucu artırır
    • SHAP değeri < 0 → sonucu azaltır

Aynı arı sürüsü grafiği; 'smoker' özelliğinin yüksek değerlerinin pozitif SHAP değerlerine sahip olduğunu vurgular.

Python ile Açıklanabilir AI

Beeswarm grafiği

  • SHAP değerlerinin dağılımını gösterir
  • Her özelliğin tahmin üzerindeki yönünü ve büyüklüğünü vurgular
    • Kırmızı → yüksek özellik değeri
    • Mavi → düşük özellik değeri
    • SHAP değeri > 0 → sonucu artırır
    • SHAP değeri < 0 → sonucu azaltır
shap.summary_plot(shap_values, X, 
                  plot_type="dot")

Aynı arı sürüsü grafiği; 'smoker' özelliğinin düşük değerlerinin negatif SHAP değerlerine sahip olduğunu vurgular.

Python ile Açıklanabilir AI

Kısmi bağımlılık grafiği

  • Özellik ile tahmin edilen sonuç arasındaki ilişkiyi gösterir
  • Özelliğin aralık boyunca etkisini gösterir
  • İlişkinin beklenene uyup uymadığını doğrular

Bir özelliğin sonuçla ilişkisini azalan bir fonksiyon olarak gösteren genel bir kısmi bağımlılık grafiği.

Python ile Açıklanabilir AI

Kısmi bağımlılık grafiği

  • Her örnek için:
    • Seçilen özelliğin değerini değiştirin
    • Diğer özellikleri sabit tutun
    • Sonucu tahmin edin
  • Tüm örneklerin sonuçlarını ortalayın
shap.partial_dependence_plot("age", 
                             model.predict, 
                             X)

Yaş özelliği için kısmi bağımlılık grafiği; yaş arttıkça tahminin arttığını gösterir.

Python ile Açıklanabilir AI

Kısmi bağımlılık grafiği

  • Her örnek için:

    • Seçilen özelliğin değerini değiştirin
    • Diğer özellikleri sabit tutun
    • Sonucu tahmin edin
  • Tüm örneklerin sonuçlarını ortalayın

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

Aynı kısmi bağımlılık grafiği; veri kümesindeki yaş dağılımını vurgular.

Python ile Açıklanabilir AI

Hadi pratik yapalım!

Python ile Açıklanabilir AI

Preparing Video For Download...