SHAP et LIME : Techniques XAI
🔍 L’IA Ne Doit Plus Être une Boîte Noire
Votre modèle refuse un crédit. Le client demande pourquoi. Vous devez répondre. L’AI Act impose l’explicabilité. SHAP et LIME sont vos outils pour ouvrir la boîte noire.
L’explicabilité IA (XAI – eXplainable AI) n’est plus une option. L’AI Act exige que les systèmes à haut risque puissent expliquer leurs décisions. Impossible de dire « l’algorithme a décidé » sans justification.
Deux techniques dominent le marché : SHAP (SHapley Additive exPlanations) et LIME (Local Interpretable Model-agnostic Explanations). Chacune a ses forces et ses limites.
Ce guide vous explique comment fonctionnent ces techniques, quand les utiliser, et comment les implémenter pour répondre aux exigences de l’AI Act.
📚 Ce que vous allez apprendre
- → Comment fonctionne SHAP (valeurs de Shapley)
- → Comment fonctionne LIME (approximation locale)
- → La différence entre explications locales et globales
- → Quand utiliser SHAP vs LIME
- → L’implémentation Python pas à pas
- → La documentation requise par l’AI Act
- → Les alternatives XAI à connaître
Infographie : Comparaison SHAP vs LIME pour l’explicabilité IA
📊 SHAP : Les Valeurs de Shapley Expliquées
SHAP (SHapley Additive exPlanations) est basé sur la théorie des jeux. Il répond à la question : quelle est la contribution de chaque feature à cette prédiction spécifique ?
Photo par Campaign Creators sur Unsplash
🎲 Le Concept des Valeurs de Shapley
Imaginez un jeu coopératif. Plusieurs joueurs (features) contribuent à un gain (prédiction). Les valeurs de Shapley calculent la contribution équitable de chaque joueur.
La formule considère toutes les coalitions possibles de features. Pour chaque feature, elle calcule la différence moyenne de prédiction avec et sans cette feature.
🧮 Intuition Mathématique
SHAP value de la feature i = Moyenne sur toutes les coalitions S de :
[f(S ∪ {i}) - f(S)]
Contribution marginale de i dans chaque coalition, pondérée équitablement.
✅ Propriétés Garanties par SHAP
- 📐 Additivité — Somme des SHAP = différence prédiction vs baseline
- ⚖️ Symétrie — Features identiques → mêmes SHAP values
- 🔢 Dummy — Feature sans impact → SHAP = 0
- 📊 Cohérence — Modèle plus dépendant d’une feature → SHAP plus élevée
🔧 Types d’Explainers SHAP
| Explainer | Modèles | Vitesse | Exactitude |
|---|---|---|---|
| TreeSHAP | XGBoost, LightGBM, RF | 🚀 Très rapide | ✅ Exacte |
| DeepSHAP | Réseaux de neurones | ⚡ Rapide | ⚠️ Approximation |
| GradientSHAP | Réseaux profonds | ⚡ Rapide | ⚠️ Approximation |
| KernelSHAP | Tout modèle | 🐢 Lent | ⚠️ Approximation |
« SHAP est le gold standard de l’explicabilité. C’est la méthode que les régulateurs comprennent et attendent. »
— Data Scientist Senior, Big Four audit
🍋 LIME : Approximation Locale Interprétable
LIME (Local Interpretable Model-agnostic Explanations) prend une approche différente. Il perturbe les données autour du point à expliquer et ajuste un modèle linéaire simple.
Photo par Scott Graham sur Unsplash
🔄 Comment Fonctionne LIME
LIME suit un processus en 4 étapes :
Perturbation
Génère des échantillons perturbés autour du point à expliquer (ex: masquer des features, modifier des valeurs).
Prédiction
Demande au modèle boîte noire de prédire chaque échantillon perturbé.
Pondération
Pondère les échantillons par leur proximité au point original (kernel exponentiel).
Régression
Ajuste un modèle linéaire (ou règles) sur les échantillons pondérés. Les coefficients = importance.
📊 LIME pour Différents Types de Données
| Type | Perturbation | Explication |
|---|---|---|
| Tabulaire | Échantillonnage distribution | Coefficients par feature |
| Texte | Masquage de mots | Mots importants colorés |
| Images | Masquage superpixels | Zones importantes highlightées |
⚠️ Limite Importante de LIME
LIME peut donner des résultats instables. Deux exécutions sur le même point peuvent produire des explications différentes. Pour la conformité AI Act, documentez cette limite.
🌍 Explications Locales vs Globales
L’AI Act exige deux types d’explications : comprendre une décision individuelle ET le comportement général du modèle.
📍 Explication Locale (Individuelle)
Répond à : « Pourquoi CE client a été refusé ? »
- 👤 Une prédiction spécifique
- 📋 Features qui ont influencé CETTE décision
- ⚖️ Droit à l’explication (Article 22 RGPD)
- 🛠️ SHAP waterfall plot, LIME explanation
🌐 Explication Globale (Modèle)
Répond à : « Comment le modèle prend-il ses décisions en général ? »
- 📊 Comportement moyen sur toutes les prédictions
- 🏆 Features les plus importantes globalement
- 📚 Documentation technique AI Act
- 🛠️ SHAP summary plot, feature importance
💡 Recommandation AI Act
Utilisez SHAP pour les deux : SHAP summary plot pour l’explication globale, SHAP waterfall pour l’explication locale. LIME pour le temps réel si SHAP est trop lent.
⚔️ SHAP vs LIME : Le Comparatif Complet
Voici le comparatif détaillé pour choisir la bonne technique selon votre contexte.
Photo par Carlos Muza sur Unsplash
| Critère | SHAP | LIME |
|---|---|---|
| Fondement | Théorie des jeux (Shapley) | Approximation linéaire locale |
| Cohérence | ✅ Garantie mathématique | ⚠️ Peut varier |
| Explications | Locales + Globales | Locales seulement |
| Vitesse | 🐢 Lent (KernelSHAP) | 🚀 Rapide |
| Arbres (XGB, RF) | 🚀 Très rapide (TreeSHAP) | ⚡ Rapide |
| Images/Texte | ⚠️ Complexe | ✅ Natif |
| Conformité AI Act | ✅ Recommandé | ✅ Acceptable |
🔍 Quel Outil XAI Choisir ?
💻 Implémentation Python : SHAP et LIME
Voici comment implémenter SHAP et LIME dans vos projets Python.
📦 Installation
🔧 Commandes pip
pip install shap
pip install lime
📊 Exemple SHAP avec XGBoost
🐍 Code Python
import shap
import xgboost as xgb
# Entraîner le modèle
model = xgb.XGBClassifier()
model.fit(X_train, y_train)
# Créer l'explainer TreeSHAP (rapide pour arbres)
explainer = shap.TreeExplainer(model)
# Calculer les SHAP values
shap_values = explainer.shap_values(X_test)
# Visualisation globale (importance features)
shap.summary_plot(shap_values, X_test)
# Visualisation locale (une prédiction)
shap.waterfall_plot(shap.Explanation(
values=shap_values[0],
base_values=explainer.expected_value,
data=X_test.iloc[0]
))
🍋 Exemple LIME avec Tabular
🐍 Code Python
from lime.lime_tabular import LimeTabularExplainer
# Créer l'explainer LIME
explainer = LimeTabularExplainer(
X_train.values,
feature_names=X_train.columns.tolist(),
class_names=['Refusé', 'Accepté'],
mode='classification'
)
# Expliquer une prédiction
explanation = explainer.explain_instance(
X_test.iloc[0].values,
model.predict_proba,
num_features=10
)
# Afficher
explanation.show_in_notebook()
📋 Documentation Explicabilité pour l’AI Act
L’AI Act exige une documentation formelle de l’explicabilité. Voici ce qu’il faut inclure.
📄 Éléments Obligatoires
- 1️⃣ Méthode utilisée — SHAP, LIME, ou autre avec justification
- 2️⃣ Explications globales — Top 10 features + visualisations
- 3️⃣ Exemples locaux — 3-5 cas représentatifs documentés
- 4️⃣ Limites — Instabilité, approximations, cas non couverts
- 5️⃣ Procédure utilisateur — Comment fournir une explication sur demande
- 6️⃣ Logs — Conservation des explications générées (10 ans)
⚠️ Conservation des Explications
L’AI Act impose 10 ans de conservation. Stockez les SHAP values ou explications LIME avec chaque prédiction à haut risque. Prévoir le stockage dans votre architecture.
❓ Questions Fréquentes – SHAP et LIME
SHAP est une méthode d’explicabilité basée sur la théorie des jeux (valeurs de Shapley). Elle calcule la contribution de chaque feature à une prédiction spécifique. Avantages : fondement mathématique solide, cohérence garantie, explications locales et globales. C’est le gold standard pour la conformité AI Act.
LIME explique une prédiction en créant un modèle linéaire simple autour du point à expliquer. Il perturbe les données, observe les changements de prédiction, et ajuste un modèle interprétable localement. Avantages : rapide, model-agnostic, intuitif. Limites : instabilité possible.
Locale : pourquoi CE client a été refusé (une prédiction). Globale : quels facteurs influencent le plus les décisions en général. L’AI Act exige les deux : locale pour le droit à l’explication, globale pour la documentation technique.
SHAP si : cohérence mathématique, explications globales, temps de calcul non critique. LIME si : rapidité, images/texte, implémentation simple. Recommandation AI Act : SHAP pour la documentation, LIME pour le temps réel.
OUI pour les systèmes à haut risque. L’AI Act impose : transparence sur le fonctionnement, documentation technique expliquant la logique, droit à l’explication pour les personnes affectées. SHAP et LIME sont les outils standards.
SHAP value positive = feature pousse vers la classe positive. Négative = pousse vers la classe négative. La magnitude indique l’importance. Exemple : SHAP(revenus) = +0.8 signifie que les revenus élevés augmentent la probabilité d’approbation.
OUI. SHAP propose DeepSHAP et GradientSHAP optimisés pour les réseaux profonds. LIME est model-agnostic. Pour les LLM et transformers, utilisez des techniques complémentaires comme l’attention visualization.
Autres techniques : Integrated Gradients (neural), Counterfactual Explanations, Anchors (règles), Attention Visualization (transformers). SHAP et LIME restent les standards car model-agnostic et bien documentés.
✅ Conclusion : SHAP et LIME, Piliers de l’IA Explicable
L’explicabilité n’est plus optionnelle. SHAP et LIME sont les outils standards pour répondre aux exigences de l’AI Act et offrir aux utilisateurs des explications compréhensibles.
🎯 Les 3 Points à Retenir
- 📊 SHAP — Gold standard, cohérent, local + global
- 🍋 LIME — Rapide, intuitif, images/texte
- 📋 Documenter — Méthode, limites, logs 10 ans
Implémentez l’explicabilité dans vos systèmes avant l’entrée en vigueur de l’AI Act.
🎓 Maîtrisez l’IA Explicable pour l’AI Act
La formation Article 4 inclut les techniques XAI, SHAP, LIME, et la documentation requise.
Formation Certifiante → 500€✅ Certification Article 4 • ✅ XAI inclus • ✅ Finançable OPCO
📚 Sources et Documentation
- SHAP — Documentation officielle • Python library
- LIME — Repository GitHub • Marco Ribeiro (Microsoft)
- Interpretable Machine Learning Book • Christoph Molnar
- AI Act — Exigences transparence • Règlement (UE) 2024/1689