Lær AI med Python · leksjon

LIME: Lokale tolkbare forklaringer

lime.tabular.LimeTabularExplainer, perturbasjon av inndata og lokal lineær approksimasjon.

Leksjon 3 av 413 trinn

LIME: Lokale tolkbare forklaringer er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva er LIME

LIME (Local Interpretable Model-agnostic Explanations) forklarer én enkelt prediksjon ved å tilpasse en enkel, tolkbar modell (for eksempel lineær regresjon) til den komplekse modellens oppførsel i et lite nærområde rundt den aktuelle instansen.

Lokalt, ikke globalt

En svartboksmodell kan være svært ikke-lineær totalt sett, men nær ett punkt er den tilnærmet lineær. LIME utnytter dette: Metoden forklarer ikke hele modellen, bare hvordan den oppfører seg lokalt rundt instansen du er interessert i.

Slik fungerer LIME

LIME perturberer instansen for å lage mange nærliggende utvalg, ber svartboksmodellen klassifisere dem, vekter utvalgene etter hvor nær de er originalen, og tilpasser deretter en tolkbar surrogatmodell. Surrogatmodellens koeffisienter blir forklaringen.

Modelluavhengig

Fordi LIME bare kaller modellens prediksjonsfunksjon, fungerer metoden med alle klassifikatorer eller regresjonsmodeller: nevrale nettverk, gradient boosting og til og med et eksternt API. Modellen behandles som en svart boks.

LimeTabularExplainer

For tabelldata oppretter du en LimeTabularExplainer fra treningsdataene og feature names. Den bruker treningsfordelingen til å generere realistiske perturbasjoner.

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

For å forklare én rad kaller du explain_instance med raden og modellens predict_proba-funksjon. LIME perturberer rundt raden og tilpasser den lokale surrogatmodellen.

exp = explainer.explain_instance(
    data_row=X_test.values[0],
    predict_fn=model.predict_proba,
    num_features=5,
)

predict_proba, ikke predict

LIME for klassifikasjon trenger sannsynligheter, ikke harde etiketter, fordi surrogatmodellen tilpasser en regresjon til sannsynlighetsflaten. Send alltid inn model.predict_proba (eller en annen funksjon som returnerer klassesannsynligheter).

Parameteren num_features

num_features begrenser hvor mange egenskaper som vises i forklaringen. Et lavere antall gir en enklere og mer lettfattelig forklaring som bare fremhever de sterkeste lokale faktorene.

Tolke egenskapsvekter

exp.as_list() returnerer forklaringen som par av typen (egenskapsbetingelse, vekt). En positiv vekt trakk prediksjonen mot den predikerte klassen, mens en negativ vekt trakk den bort fra klassen.

for feature, weight in exp.as_list():
    print(feature, round(weight, 3))
# income > 50000     0.21
# debt_ratio > 0.4  -0.18

Visualisere forklaringen

LIME kan vise forklaringen som et interaktivt diagram eller en visning i en notebook, med bidragsstolper og predikerte sannsynligheter side om side.

exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()

LIME versus SHAP

Begge forklarer individuelle prediksjoner, men de skiller seg fra hverandre:

  • SHAP har sterke teoretiske garantier (additivitet og konsistens) samt en global visning
  • LIME er raskere å forstå, modell­uavhengig og intuitiv, men den lokale surrogatmodellen er en tilnærming som kan variere på grunn av tilfeldig perturbasjon

Kort test

Test kunnskapen din om LIME.

Oppsummering

Du har lært om lokale forklaringer med LIME:

  • LimeTabularExplainer bygges fra treningsdata og egenskapsnavn
  • explain_instance bruker model.predict_proba til å tilpasse en lokal surrogatmodell
  • num_features styrer størrelsen på forklaringen
  • as_list() returnerer fortegnede egenskapsvekter
  • LIME er modell­uavhengig og lokal, og utfyller SHAP
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
53
Leksjoner
225

Ofte stilte spørsmål

Er leksjonen «LIME: Lokale tolkbare forklaringer» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «LIME: Lokale tolkbare forklaringer», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva lærer jeg i «LIME: Lokale tolkbare forklaringer»?

lime.tabular.LimeTabularExplainer, perturbasjon av inndata og lokal lineær approksimasjon. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lær AI med Python?

Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «LIME: Lokale tolkbare forklaringer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?

Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Deteksjon av skjevhet i ML-modeller
  2. SHAP-verdier for forklaring av modeller
  3. LIME: Lokale tolkbare forklaringer
  4. Etikk og styringsrammeverk for KI
← Tilbake til Lær AI med Python