Uitlegbaarheid in boommodellen

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Beslisboom

  • Basisbouwsteen van boommodellen
  • Voor regressie en classificatie
  • Boomstructuur voor voorspellingen
    • Meerdere beslissingen
    • Elke beslissing gebruikt één feature
  • Van nature uitlegbaar

Weergave van een beslisboom die laat zien hoe voorspellingen ontstaan op basis van meerdere voorwaarden

Explainable AI in Python

Random forest

  • Bestaat uit veel beslisbomen
  • Voor regressie en classificatie
  • Maakt directe interpretatie lastiger
  • Feature-importance
    • Meet de onzekerheidsreductie in voorspellingen
    • Anders dan coëfficiënten in lineaire modellen

Afbeelding van het random forest als een verzameling bomen die een instantie ontvangen en de voorspellingen aggregeren tot één eindvoorspelling.

Explainable AI in Python

Toelatingsdataset

GRE-score TOEFL-score Universiteitsbeoordeling SOP LOR CGPA Acceptatie
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']
Explainable AI in Python

Modeltraining

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]
Explainable AI in Python

Feature-importance

import matplotlib.pyplot as plt

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

Een horizontale staafgrafiek met importances; CGPA en GRE-score zijn het belangrijkst.

import matplotlib.pyplot as plt

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

Een horizontale staafgrafiek met importances; CGPA en GRE-score zijn het belangrijkst.

Explainable AI in Python

Laten we oefenen!

Explainable AI in Python

Preparing Video For Download...