Ağaç tabanlı modellerde açıklanabilirlik

Python ile Açıklanabilir AI

Fouad Trad

Machine Learning Engineer

Karar ağacı

  • Ağaç tabanlı modellerin temel yapı taşı
  • Regresyon ve sınıflandırmada kullanılır
  • Tahmin için ağaç benzeri yapı
    • Birden çok karar
    • Her karar tek bir özelliğe dayanır
  • Doğası gereği açıklanabilir

Birden çok koşula dayalı olarak nasıl tahmin yapıldığını gösteren bir karar ağacı görselleştirmesi

Python ile Açıklanabilir AI

Rastgele orman

  • Birçok karar ağacından oluşur
  • Regresyon ve sınıflandırmada kullanılır
  • Doğrudan yorumlamayı zorlaştırır
  • Özellik önemi
    • Tahmin belirsizliğindeki azalmayı ölçer
    • Doğrusal modellerdeki katsayılardan farklıdır

Rastgele ormanı, bir örneği alan ve tahminleri birleştirerek nihai tahmin üreten ağaçlar koleksiyonu olarak gösteren görsel.

Python ile Açıklanabilir AI

Kabul veri kümesi

GRE Puanı TOEFL Puanı Üniversite Puanı SOP LOR CGPA Kabul
337 118 4 4.5 4.5 9.65 1
324 107 4 4 4.5 8.87 1
316 104 3 3 3.5 8.00 1
322 110 3 3.5 2.5 8.67 1
314 103 2 2 3 8.21 0
X_train = data.drop(['Accept'], axis=1)
y_train = data['Accept']
Python ile Açıklanabilir AI

Model eğitimi

from sklearn.tree import DecisionTreeClassifier

tree_model = DecisionTreeClassifier() tree_model.fit(X_train, y_train)
print(tree_model.feature_importances_)
[0.17936982 0.08878744 0.04388924 
 0.0532897  0.07130751 0.56335628]
from sklearn.ensemble import RandomForestClassifier

forest_model = RandomForestClassifier() forest_model.fit(X_train, y_train)
print(forest_model.feature_importances_)
[0.25347149 0.17518662 0.06551317 
 0.06758647 0.07866478 0.35957747]
Python ile Açıklanabilir AI

Özellik önemi

import matplotlib.pyplot as plt

plt.barh(X_train.columns, 
         tree_model.feature_importances_)
plt.title('Feature Importance - Decision Tree')
plt.show()

Yatay çubuk grafiği: CGPA ve GRE puanının en önemli özellikler olduğunu gösteriyor.

import matplotlib.pyplot as plt

plt.barh(X_train.columns, 
         forest_model.feature_importances_)
plt.title('Feature Importance - Random Forest')
plt.show()

Yatay çubuk grafiği: CGPA ve GRE puanının en önemli özellikler olduğunu gösteriyor.

Python ile Açıklanabilir AI

Hadi pratik yapalım!

Python ile Açıklanabilir AI

Preparing Video For Download...