SHAP-værdier til model-forklarlighed
shap.Explainer, TreeExplainer, force plots, beeswarm plots, rangordning af feature-vigtighed.
SHAP-værdier til model-forklarlighed er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvorfor forklarlighed
Komplekse modeller er præcise, men uigennemsigtige. Forklarlighed besvarer spørgsmålet »Hvorfor traf modellen denne forudsigelse?«, hvilket er afgørende for tillid, fejlfinding og overholdelse af lovgivningen. SHAP er en af de mest udbredte metoder til forklaring.
Hvad måler SHAP
SHAP (SHapley Additive exPlanations) tildeler hver egenskab et bidrag til en enkelt forudsigelse. Værdierne er baseret på Shapley-værdier fra samarbejdende spilteori: Hver egenskab er en »spiller«, og dens SHAP-værdi er dens retfærdige andel af forudsigelsen i forhold til en basisværdi.
Additivitet
SHAP-værdier er additive: Basisværdien, altså modellens gennemsnitlige uddata, plus summen af alle egenskabernes SHAP-værdier er lig med den faktiske forudsigelse. Det gør hver forklaring til et fuldstændigt og efterprøveligt regnskab for uddataene.
# prediction = base_value + sum(shap_values_for_each_feature)TreeExplainer
For træmodeller (XGBoost, LightGBM og tilfældige skove) beregner shap.TreeExplainer eksakte SHAP-værdier hurtigt ved at udnytte træstrukturen.
import shap
import xgboost
model = xgboost.XGBClassifier().fit(X_train, y_train)
explainer = shap.TreeExplainer(model)Beregning af shap_values
explainer.shap_values(X_test) returnerer en matrix: én SHAP-værdi pr. egenskab for hver række. Det er de rå bidrag, du vil visualisere.
shap_values = explainer.shap_values(X_test)
print(shap_values.shape) # (n_samples, n_features)Biesværmen i summary_plot
shap.summary_plot opretter en biesværm: Hver prik er én observation for én egenskab. Placeringen viser SHAP-værdien, altså påvirkningens retning og størrelse, mens farven viser egenskabsværdien. Egenskaberne er sorteret efter deres samlede betydning.
shap.summary_plot(shap_values, X_test)Sådan læser du biesværmen
Sådan læser du en biesværm:
- De øverste egenskaber har størst betydning samlet set
- Prikker langt til højre trækker forudsigelsen op, mens prikker langt til venstre trækker den ned
- Farven viser retningen. Hvis høje egenskabsværdier, markeret med rødt, ligger til højre, betyder det, at »en høj værdi øger forudsigelsen«
Forklaring af én forudsigelse
SHAP er særligt nyttigt på individniveau. For at forklare en enkelt række skal du bruge dens SHAP-værdier og modellens basisværdi.
idx = 0
base = explainer.expected_value
row_shap = shap_values[idx]force_plot
shap.force_plot viser en enkelt forudsigelse som kræfter, der skubber ud fra basisværdien: Røde egenskaber skubber uddataene op, mens blå egenskaber skubber dem ned. Det samlede resultat ender ved den endelige forudsigelse.
shap.force_plot(
explainer.expected_value,
shap_values[0],
X_test.iloc[0],
)waterfall_plot
shap.waterfall_plot er den lettest læselige visning af en enkelt forudsigelse. Den starter ved basisværdien og lægger hvert egenskabsbidrag til trin for trin, indtil den når den endelige uddata, sorteret efter størrelse.
shap.waterfall_plot(
shap.Explanation(
values=shap_values[0],
base_values=explainer.expected_value,
data=X_test.iloc[0],
)
)Globalt kontra lokalt
SHAP opfylder to behov:
- Globalt:
summary_plotviser, hvilke egenskaber der samlet set driver modellen - Lokalt:
force_plotogwaterfall_plotforklarer én bestemt forudsigelse
Begge dele bygger på de samme SHAP-værdier, så forklaringen er sammenhængende på tværs af skalaer.
Hurtig kontrol
Test din viden om SHAP.
Opsummering
Du har lært om model-forklarlighed med SHAP:
shap.TreeExplainer(model)beregner eksakte værdier for træmodellerexplainer.shap_values(X_test)returnerer bidrag for hver egenskab- Biesværmen i
summary_plotviser den globale betydning force_plotogwaterfall_plotforklarer en enkelt forudsigelse- SHAP-værdier er additive: basisværdi + bidrag = forudsigelse
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “SHAP-værdier til model-forklarlighed” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “SHAP-værdier til model-forklarlighed”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “SHAP-værdier til model-forklarlighed”?
shap.Explainer, TreeExplainer, force plots, beeswarm plots, rangordning af feature-vigtighed. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “SHAP-værdier til model-forklarlighed”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Detektion af bias i ML-modeller
- SHAP-værdier til model-forklarlighed
- LIME: lokalt fortolkelige forklaringer
- Etik og governance-rammer for AI