LIME: spiegazioni locali interpretabili
lime.tabular.LimeTabularExplainer, perturbazione dell'input, approssimazione lineare locale
LIME: spiegazioni locali interpretabili è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Che cos'è LIME
LIME (Local Interpretable Model-agnostic Explanations) spiega una singola predizione adattando un modello semplice e interpretabile, come la regressione lineare, al comportamento del modello complesso in un piccolo vicinato attorno a quella specifica istanza.
Locale, non globale
Un modello black box può essere fortemente non lineare nel suo complesso, ma vicino a un punto può essere approssimativamente lineare. LIME sfrutta proprio questa proprietà: non spiega l'intero modello, ma solo il suo comportamento locale attorno all'istanza di interesse.
Come funziona LIME
LIME perturba l'istanza per creare molti campioni vicini, chiede al modello black box di produrre le relative predizioni, assegna un peso ai campioni in base alla loro vicinanza all'originale e quindi adatta un modello surrogato interpretabile. I coefficienti del modello surrogato costituiscono la spiegazione.
Indipendente dal modello
Poiché LIME invoca soltanto la funzione di predizione del modello, funziona con qualsiasi classificatore o regressore: reti neurali, gradient boosting e persino un'API esterna. Tratta il modello come una scatola nera.
LimeTabularExplainer
Per i dati tabellari si crea un LimeTabularExplainer a partire dai dati di addestramento e dai nomi delle feature. Utilizza la distribuzione dei dati di addestramento per generare perturbazioni realistiche.
from lime.lime_tabular import LimeTabularExplainer
explainer = LimeTabularExplainer(
training_data=X_train.values,
feature_names=X_train.columns.tolist(),
class_names=["denied", "approved"],
mode="classification",
)explain_instance
Per spiegare una riga, si chiama explain_instance passando la riga e la funzione predict_proba del modello. LIME crea perturbazioni attorno a quella riga e adatta il modello surrogato locale.
exp = explainer.explain_instance(
data_row=X_test.values[0],
predict_fn=model.predict_proba,
num_features=5,
)predict_proba, non predict
Per la classificazione, LIME ha bisogno delle probabilità, non delle etichette rigide, perché il modello surrogato esegue una regressione sulla superficie delle probabilità. Si passi sempre model.predict_proba, o una funzione che restituisca le probabilità delle classi.
Il parametro num_features
num_features limita il numero di feature visualizzate nella spiegazione. Un numero inferiore produce una spiegazione più semplice e comprensibile, che mette in evidenza solo i fattori locali più rilevanti.
Come leggere i pesi delle feature
exp.as_list() restituisce la spiegazione come coppie (condizione della feature, peso). Un peso positivo ha spinto la predizione verso la classe predetta, mentre un peso negativo l'ha allontanata.
for feature, weight in exp.as_list():
print(feature, round(weight, 3))
# income > 50000 0.21
# debt_ratio > 0.4 -0.18Visualizzazione della spiegazione
LIME può visualizzare la spiegazione sotto forma di grafico interattivo o vista per notebook, mostrando fianco a fianco le barre dei contributi e le probabilità predette.
exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()LIME e SHAP
Entrambi spiegano singole predizioni, ma presentano differenze:
- SHAP offre solide garanzie teoriche, come additività e coerenza, oltre a una visione globale
- LIME è più rapido da comprendere, indipendente dal modello e intuitivo, ma il suo modello surrogato locale è un'approssimazione che può variare a causa della casualità delle perturbazioni
Verifica rapida
Metta alla prova le Sue conoscenze su LIME.
Riepilogo
Ha imparato a creare spiegazioni locali con LIME:
- LimeTabularExplainer viene creato a partire dai dati di addestramento e dai nomi delle feature
explain_instanceutilizzamodel.predict_probaper adattare un modello surrogato locale- num_features controlla la dimensione della spiegazione
as_list()restituisce i pesi con segno delle feature- LIME è indipendente dal modello e locale, e completa SHAP
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 53
- Lezioni
- 225
Domande Frequenti
La lezione «LIME: spiegazioni locali interpretabili» è gratuita?
Sì — il testo completo di «LIME: spiegazioni locali interpretabili» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «LIME: spiegazioni locali interpretabili»?
lime.tabular.LimeTabularExplainer, perturbazione dell'input, approssimazione lineare locale Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «LIME: spiegazioni locali interpretabili»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Rilevamento dei bias nei modelli ML
- Valori SHAP per l'interpretabilità dei modelli
- LIME: spiegazioni locali interpretabili
- Etica dell'AI e framework di governance