SHAP-verdier for forklaring av modeller
shap.Explainer, TreeExplainer, kraftdiagrammer, beeswarm-diagrammer og rangering av egenskapers betydning.
SHAP-verdier for forklaring av modeller er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 2 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.
Hvorfor forklarbarhet er viktig
Komplekse modeller er nøyaktige, men ugjennomsiktige. Forklarbarhet svarer på spørsmålet «Hvorfor ga modellen denne prediksjonen?», noe som er avgjørende for tillit, feilsøking og overholdelse av regelverk. SHAP er en av de mest brukte metodene for forklaring.
Hva SHAP måler
SHAP (SHapley Additive exPlanations) tildeler hver egenskap et bidrag til én enkelt prediksjon. Verdiene er basert på Shapley-verdier fra kooperativ spillteori: Hver egenskap er en «spiller», og SHAP-verdien er dens rettferdige andel av prediksjonen sammenlignet med en baseline.
Additivitet
SHAP-verdier er additive: Baselineverdien (modellens gjennomsnittlige resultat) pluss summen av alle SHAP-verdiene for egenskapene er lik den faktiske prediksjonen. Dette gjør hver forklaring til en komplett og etterprøvbar redegjørelse for resultatet.
# prediction = base_value + sum(shap_values_for_each_feature)TreeExplainer
For tremodeller (XGBoost, LightGBM, random forests) beregner shap.TreeExplainer eksakte SHAP-verdier raskt ved å utnytte trestrukturen.
import shap
import xgboost
model = xgboost.XGBClassifier().fit(X_train, y_train)
explainer = shap.TreeExplainer(model)Beregne shap_values
explainer.shap_values(X_test) returnerer en matrise: én SHAP-verdi per egenskap per rad. Dette er de rå bidragene du skal visualisere.
shap_values = explainer.shap_values(X_test)
print(shap_values.shape) # (n_samples, n_features)summary_plot som beeswarm
shap.summary_plot lager et beeswarm-diagram: Hvert punkt er ett utvalg for én egenskap. Plasseringen viser SHAP-verdien (påvirkningens retning og størrelse), mens fargen viser egenskapsverdien. Egenskapene rangeres etter samlet viktighet.
shap.summary_plot(shap_values, X_test)Tolke beeswarm-diagrammet
Slik tolker du et beeswarm-diagram:
- Egenskapene øverst er viktigst globalt
- Punkter langt til høyre trekker prediksjonen opp, mens punkter langt til venstre trekker den ned
- Fargen viser retningen. Hvis høye egenskapsverdier (røde) ligger til høyre, betyr det for eksempel at «høy verdi øker prediksjonen»
Forklare én prediksjon
SHAP er særlig nyttig på individnivå. For å forklare én enkelt rad trenger du SHAP-verdiene og modellens basisverdi.
idx = 0
base = explainer.expected_value
row_shap = shap_values[idx]force_plot
shap.force_plot viser én prediksjon som krefter som trekker fra basisverdien: Røde egenskaper trekker resultatet opp, mens blå egenskaper trekker det ned. Nettovirkningen ender på den endelige prediksjonen.
shap.force_plot(
explainer.expected_value,
shap_values[0],
X_test.iloc[0],
)waterfall_plot
shap.waterfall_plot er den mest lettleste visningen av én enkelt prediksjon. Den starter ved basisverdien og legger sammen hvert egenskapsbidrag trinn for trinn til den når det endelige resultatet, sortert etter størrelse.
shap.waterfall_plot(
shap.Explanation(
values=shap_values[0],
base_values=explainer.expected_value,
data=X_test.iloc[0],
)
)Globalt versus lokalt
SHAP dekker to behov:
- Globalt:
summary_plotviser hvilke egenskaper som påvirker modellen totalt sett - Lokalt:
force_plotogwaterfall_plotforklarer én bestemt prediksjon
Begge bygger på de samme SHAP-verdiene, noe som gir en konsistent forklaring på tvers av skalaer.
Kort test
Test kunnskapen din om SHAP.
Oppsummering
Du har lært om modellforklarbarhet med SHAP:
shap.TreeExplainer(model)beregner eksakte verdier for tremodellerexplainer.shap_values(X_test)returnerer bidrag per egenskap- Beeswarm-diagrammet
summary_plotviser global viktighet force_plotogwaterfall_plotforklarer én enkelt prediksjon- SHAP-verdier er additive: basisverdi + bidrag = prediksjon
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 «SHAP-verdier for forklaring av modeller» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «SHAP-verdier for forklaring av modeller», 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 «SHAP-verdier for forklaring av modeller»?
shap.Explainer, TreeExplainer, kraftdiagrammer, beeswarm-diagrammer og rangering av egenskapers betydning. 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 2 av 4.
Hvor lang tid tar leksjonen «SHAP-verdier for forklaring av modeller»?
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
- Deteksjon av skjevhet i ML-modeller
- SHAP-verdier for forklaring av modeller
- LIME: Lokale tolkbare forklaringer
- Etikk og styringsrammeverk for KI