Explicabilité des modèles linéaires

Explainable AI en Python

Fouad Trad

Machine Learning Engineer

Modèles linéaires

Régression linéaire
  • Prédit des valeurs continues

Image montrant une droite ajustée à plusieurs points, où l'axe des x représente un résultat à un test et l'axe des y la probabilité d'admission.

Explainable AI en Python

Modèles linéaires

Régression linéaire
  • Prédit des valeurs continues

Image montrant une droite ajustée à plusieurs points, où l'axe des x représente un résultat à un test et l'axe des y la probabilité d'admission.

Régression logistique
  • Sert à la classification binaire

Image montrant une droite qui sépare plusieurs points de données représentant des transactions selon le montant et l'heure d'exécution.

Explainable AI en Python

Pourquoi les modèles linéaires sont-ils explicables ?

  • Apprennent une combinaison linéaire des variables d'entrée
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

Image montrant les mêmes graphiques de régression linéaire et logistique qu'avant, avec l'équation apprise : la régression linéaire apprend une équation du type Mobile price=푐_0+푐_1∗Storage, et la régression logistique apprend 푐_0+푐_1∗Time of day+푐_2∗Transaction amount=0

Explainable AI en Python

Coefficients

  • Indiquent l'importance de chaque variable
    • Valeur absolue plus élevée → importance plus grande
    • Valeur absolue plus faible → importance plus faible
  • Pour comparer les coefficients → valeurs absolues
  • Remarque : normaliser l'échelle des variables avant de calculer les coefficients

Image montrant l'équation Mobile price=푐_0+5∗Storage+2∗Number of lenses, avec les coefficients en évidence

Explainable AI en Python

Coefficients

  • Indiquent l'importance de chaque variable
    • Valeur absolue plus élevée → importance plus grande
    • Valeur absolue plus faible → importance plus faible
  • Pour comparer les coefficients → valeurs absolues
  • Remarque : normaliser l'échelle des variables avant de calculer les coefficients

Image montrant l'équation Mobile price=𝑐_0+𝑐_1∗Storage+c_2∗Number of lenses, en soulignant que la capacité de stockage est typiquement de centaines à milliers de gigaoctets et que le nombre d'objectifs est généralement inférieur à 4.

Explainable AI en Python

Admissions

GRE Score TOEFL Score University Rating SOP LOR CGPA Chance of Admit Accept
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0
X_train = data.drop(['Chance of Admit', 'Accept'], axis=1)

y_reg = data['Chance of Admit']
y_cls = data['Accept']
Explainable AI en Python

Entraînement des modèles

from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LinearRegression, LogisticRegression


scaler = MinMaxScaler() X_train_scaled = scaler.fit_transform(X_train)
lin_reg = LinearRegression() lin_reg.fit(X_train_scaled, y_reg)
log_reg = LogisticRegression() log_reg.fit(X_train_scaled, y_cls)
Explainable AI en Python

Calcul des coefficients

Régression linéaire
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
Régression logistique
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
Explainable AI en Python

Visualiser les coefficients

Régression linéaire
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

Un diagramme à barres des importances montrant que la CGPA et le score GRE sont les variables les plus importantes.

Régression logistique
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

Un diagramme à barres des importances montrant que la CGPA et le score GRE sont les variables les plus importantes.

Explainable AI en Python

Passons à la pratique !

Explainable AI en Python

Preparing Video For Download...