Accueil / Factory / Algos ML / LIME — factory / algos ML / explication des prédictions

MÉTHODE LIME.

Une méthode pour expliquer une prédiction précise d'un modèle opaque. LIME crée des milliers de variantes de l'individu à expliquer, regarde ce que le modèle en pense, et ajuste autour de lui une petite régression linéaire lisible. Les coefficients de cette régression disent ce qui pèse sur cette prédiction-là, et dans quel sens.

ExplicabilitéExplication localeModèle agnostiqueRégressionNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceApproximation locale : fidèle près du point, pas au-delà
InterprétabilitéQuelques conditions pondérées, lisibles par un non-spécialiste
VitesseDes milliers d'appels au modèle pour chaque individu
Facilité de réglageVoisinage et nombre de variables changent l'explication
Tolérance aux données brutesFonctionne sur tableaux, textes et images, avec tout modèle
EN 30 SECONDES

Pour comprendre ce qui fâche un client, on ne cherche pas une théorie générale de la satisfaction. On change un détail à la fois dans sa situation et on observe sa réaction. LIME fait la même chose avec le modèle, autour d'un seul cas.

1. On perturbe l'individu

LIME génère des milliers d'individus fictifs en tirant des valeurs de variables d'après leur distribution dans les données : autres surfaces, autres budgets, autres zones.

2. On interroge le modèle

Le modèle prédit chaque individu fictif. Ceux qui ressemblent le plus au cas étudié reçoivent un poids plus fort.

3. On ajuste un modèle simple

Une régression linéaire pondérée, limitée à quelques variables, imite le modèle dans ce voisinage. Ses coefficients forment l'explication.

LE CAS MÉTIER

pilotage de réseau · retail / franchise
EN ENTRÉE

Une prévision de CA à justifier

Une Random Forest prévoit le CA de 400 magasins d'après leur surface, leur budget publicitaire, le nombre de concurrents et la zone. Un directeur régional demande pourquoi l'un de ses magasins est prévu aussi bas.

EN SORTIE

Les raisons de cette prévision

Sur le jeu d'exemple, le magasin au CA prévu le plus faible cumule une petite surface (445 m²), 7 concurrents et une zone rurale. LIME chiffre en k€ le poids de chaque condition dans la prévision : le directeur voit ce qui relève du format du magasin et ce qui relève de son environnement.

CE QU'ON MESURE

Fidélité locale et stabilité

Le R² du modèle local dit s'il imite bien le modèle autour du magasin. On relance ensuite avec une autre graine : si l'ordre des raisons change, l'explication n'est pas fiable. Le code compare deux tirages pour cette raison.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Expliquer une prédiction à un utilisateur métier, en quelques règles lisibles
  • Modèle impossible à ouvrir : service externe, pipeline complexe, API
  • Textes et images : LIME montre les mots ou les zones de l'image qui ont compté
  • Contrôle rapide d'un modèle : une variable absurde en tête signale une fuite de données

NON

  • Explication qui doit être stable et additive (audit, réglementation) : préférer SHAP
  • Vision globale du modèle : l'importance par permutation ou la dépendance partielle
  • Variables très corrélées : les individus fictifs deviennent irréalistes et l'explication aussi
  • Modèles d'arbres : TreeSHAP donne une explication exacte, plus rapide que LIME
LES 4 RÉGLAGES QUI COMPTENT

Noms donnés pour R (lime) et Python (lime).

Nombre de variables : n_features / num_features

3 à 6 pour rester lisible. Au-delà, l'explication perd son intérêt et devient instable.

Nombre de perturbations : n_permutations / num_samples

5 000 par défaut. Augmenter stabilise l'explication, au prix de plus d'appels au modèle.

Largeur du voisinage : kernel_width

Définit ce qu'est un individu proche. Trop étroit, peu d'individus comptent et l'explication est bruitée ; trop large, elle n'est plus locale. Le défaut ne convient pas toujours.

Découpage des variables : discretize_continuous / bin_continuous

Par défaut, les variables numériques sont découpées en quartiles, ce qui donne des conditions du type « surface_m2 <= 769.75 » (le premier quartile). Plus lisible, mais dépendant des seuils choisis.

LE CODE MINIMAL

jeu d'exemple : magasins.csv ↓
# Pourquoi ce CA prévu : LIME en R
library(randomForest)
library(lime)

magasins <- read.csv("magasins.csv")
X <- magasins[, c("surface_m2", "budget_pub_k", "nb_concurrents", "zone")]
X$zone <- factor(X$zone)
set.seed(42)
modele <- randomForest(x = X, y = magasins$ca_k, ntree = 300)

# On indique à lime comment interroger un modèle randomForest
model_type.randomForest <- function(x, ...) "regression"
predict_model.randomForest <- function(x, newdata, type, ...) data.frame(Response = predict(x, newdata))

# Le magasin au CA prévu le plus faible : pourquoi ?
prevision <- predict(modele, X)
i <- which.min(prevision)
print(magasins[i, ])

# LIME : 5 000 magasins fictifs autour de celui-ci, puis un petit modèle linéaire local
explainer <- lime(X, modele)
explication <- explain(X[i, ], explainer, n_features = 4, n_permutations = 5000)
print(explication[, c("feature_desc", "feature_weight", "model_prediction", "model_r2")])

QUESTIONS FRÉQUENTES

Que signifie LIME en machine learning ?

LIME signifie Local Interpretable Model-agnostic Explanations. La méthode, publiée en 2016 par Ribeiro, Singh et Guestrin, explique une prédiction individuelle de n'importe quel modèle en l'approchant localement par un modèle simple, en général une régression linéaire.

LIME ou SHAP ?

SHAP est aujourd'hui plus utilisé : ses contributions s'additionnent exactement jusqu'à la prédiction, et le calcul est rapide et exact pour les modèles d'arbres. LIME reste utile pour son principe très intuitif, pour les textes et les images, et quand le modèle n'est accessible que par ses prédictions.

Pourquoi les explications LIME changent-elles d'une exécution à l'autre ?

Parce que LIME tire au hasard les individus fictifs qui servent à ajuster le modèle local. Avec un voisinage mal réglé ou trop peu de tirages, deux exécutions peuvent donner des variables ou des poids différents. Fixer la graine rend le résultat reproductible, pas plus fiable : il faut vérifier la stabilité.

LES ALGOS VOISINS

à comparer avant de choisir
l'alternative la plus utilisée

SHAP

Contributions additives fondées sur la théorie des jeux, stables, exactes pour les arbres.

Voir la fiche →
l'explication qui guide l'action

Contrefactuels

Dit ce qu'il faudrait changer pour obtenir une autre prédiction.

Voir la fiche →
la vue d'ensemble

Dépendance partielle (PDP)

Montre l'effet moyen d'une variable sur toutes les prédictions, pas sur un seul cas.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →