Explicabilité des modèles à arbres

Explainable AI en Python

Fouad Trad

Machine Learning Engineer

Arbre de décision

  • Brique de base des modèles à arbres
  • Utilisés pour la régression et la classification
  • Structure arborescente pour prédire
    • Plusieurs décisions
    • Chaque décision repose sur une caractéristique
  • Intrinsèquement explicables

Représentation d'un arbre de décision montrant des prédictions fondées sur plusieurs conditions

Explainable AI en Python

Forêt aléatoire

  • Regroupe de nombreux arbres de décision
  • Utilisée pour la régression et la classification
  • Rend l'interprétation directe plus difficile
  • Importance des caractéristiques
    • Mesure la réduction de l'incertitude des prédictions
    • Diffère des coefficients des modèles linéaires

Image illustrant la forêt aléatoire comme un ensemble d'arbres recevant une instance et agrégeant les prédictions pour donner une prédiction finale.

Explainable AI en Python

Ensemble de données d'admissions

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

Entraînement des modèles

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 en Python

Importance des caractéristiques

import matplotlib.pyplot as plt

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

Diagramme à barres horizontales des importances montrant que CGPA et la note GRE sont les caractéristiques les plus importantes.

import matplotlib.pyplot as plt

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

Diagramme à barres horizontales des importances montrant que CGPA et la note GRE sont les caractéristiques les plus importantes.

Explainable AI en Python

Passons à la pratique !

Explainable AI en Python

Preparing Video For Download...