Explicabilité des modèles arborescents

IA explicable en Python

Fouad Trad

Machine Learning Engineer

Arbre de décision

  • Brique fondamentale des modèles arborescents
  • Utilisé pour régression et classification
  • Structure en arbre pour prédire
    • Plusieurs décisions
    • Chaque décision basée sur une variable
  • Naturellement explicable

Représentation d’un arbre de décision montrant comment les prédictions se font selon plusieurs conditions

IA explicable en Python

Forêt aléatoire

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

Image montrant 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.

IA explicable en Python

Jeu de données d’admissions

Score GRE Score TOEFL Classement université 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']
IA explicable en Python

Entraînement du modèle

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]
IA explicable en Python

Importance des variables

import matplotlib.pyplot as plt

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

Histogramme horizontal des importances montrant que la CGPA et le score 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()

Histogramme horizontal des importances montrant que la CGPA et le score GRE sont les caractéristiques les plus importantes.

IA explicable en Python

Passons à la pratique !

IA explicable en Python

Preparing Video For Download...