Förklarbarhet i trädbaserade modeller

Förklarbar AI i Python

Fouad Trad

Machine Learning Engineer

Beslutsträd

  • Grundläggande byggblock i trädbaserade modeller
  • Används för regression och klassificering
  • Trädliknande struktur för prediktioner
    • Flera beslut
    • Varje beslut baseras på ett särdrag
  • Inherent förklarbar

Representation av ett beslutsträd som visar hur prediktioner görs utifrån flera villkor

Förklarbar AI i Python

Slumpmässig skog

  • Består av många beslutsträd
  • Används för regression och klassificering
  • Försvårar direkt tolkbarhet
  • Särdragsvikt
    • Mäter minskning av osäkerhet i prediktioner
    • Skiljer sig från koefficienter i linjära modeller

Bild som visar en slumpmässig skog som en samling träd vilka tar emot en instans och aggregerar prediktionerna till ett slutresultat.

Förklarbar AI i Python

Antagningsdataset

GRE Score TOEFL Score University Rating SOP LOR CGPA Accept
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']
Förklarbar AI i Python

Modellträning

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]
Förklarbar AI i Python

Särdragsvikt

import matplotlib.pyplot as plt

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

Ett horisontellt stapeldiagram över särdragsvikterna som visar att CGPA och GRE-poäng är de viktigaste särdragen.

import matplotlib.pyplot as plt

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

Ett horisontellt stapeldiagram över särdragsvikterna som visar att CGPA och GRE-poäng är de viktigaste särdragen.

Förklarbar AI i Python

Nu kör vi en övning!

Förklarbar AI i Python

Preparing Video For Download...