CMD + K

Kapittel 4Begreper & formler · Evaluering og modellvalg
Referanseside · Kapittel 4

Begreper & referanser

Alle nøkkelbegrepene, formlene og referansene fra Evaluering og modellvalg, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.

Øv med flashcards18 kort fra dette kapittelet

Begreper

Sentrale begreper fra kapittelet med korte definisjoner.

01Confusion matrix

En tabell som deler prediksjonene i true positive, false positive, true negative og false negative.

02Precision

Andelen av modellens positive prediksjoner som er korrekte.

03Recall

Andelen av alle faktiske positive tilfeller som modellen finner.

04Specificity

Andelen av alle faktiske negative tilfeller som modellen avviser korrekt.

05ROC-kurve

En terskelkurve som viser true positive rate mot false positive rate.

06AUC

Arealet under ROC-kurven og et terskeluavhengig mål på modellens rangeringsevne.

07Overtilpasning

At modellen lærer detaljer og støy i treningsdata så godt at ytelsen på nye data blir dårligere.

08Kryssvalidering

En prosedyre som roterer hvilken fold som validerer modellen, slik at flere observasjoner bidrar til ytelsesestimatet.

Formler

Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.

accuracy

Accuracy

Accuracy er andelen observasjoner som klassifiseres riktig.

TPsanne positive
TNsanne negative
FPfalske positive
FNfalske negative
precision

Precision

Precision svarer på hvor mange av de positive prediksjonene som faktisk er positive.

TPsanne positive
FPfalske positive
recall

Recall

Recall svarer på hvor mange av de faktiske positive tilfellene modellen finner.

TPsanne positive
FNfalske negative
specificity

Specificity

Specificity er andelen faktiske negative tilfeller modellen avviser korrekt.

TNsanne negative
FPfalske positive
f1-score

F1-score

F1 er det harmoniske gjennomsnittet av precision og recall og blir lav hvis én av dem er lav.

precisionpresisjon
recallgjenfinning
false-positive-rate

False positive rate

FPR er andelen faktiske negative tilfeller som feilaktig blir klassifisert positive.

FPfalske positive
TNsanne negative
auc-trapes

Trapesbidrag til AUC

Arealet under en ROC-kurve kan estimeres ved å summere trapeser mellom naboterskler.

TPR_itrue positive rate ved terskel i
FPR_ifalse positive rate ved terskel i
kryssvalideringsscore

Gjennomsnittlig kryssvalideringsscore

Ved -fold kryssvalidering oppsummeres valideringsresultatene fra de foldene.

kantall folder
s_jscore i fold j

Kodesnutter

Kodesnutter fra kapittelet, vist literal.

kap4-metrikker-fra-matrise

Metrikker fra fire tellinger

python
import numpy as np rng = np.random.default_rng(4172)y_true = rng.integers(0, 2, size=40)score = 0.25 + 0.55 * y_true + rng.normal(0, 0.22, size=40)y_pred = (score >= 0.50).astype(int) tp = np.sum((y_true == 1) & (y_pred == 1))fn = np.sum((y_true == 1) & (y_pred == 0))fp = np.sum((y_true == 0) & (y_pred == 1))tn = np.sum((y_true == 0) & (y_pred == 0)) precision = tp / (tp + fp) if tp + fp else 0.0recall = tp / (tp + fn) if tp + fn else 0.0specificity = tn / (tn + fp) if tn + fp else 0.0 print({"TP": tp, "FN": fn, "FP": fp, "TN": tn})print(f"precision={precision:.3f}, recall={recall:.3f}, specificity={specificity:.3f}")

Alle klassifikasjonsmetrikkene bygges fra de samme fire tellingene. Betingelsene i nevnerne gjør også kanttilfeller synlige.

kap4-lekkasjefri-cv

Lekkasjefri kryssvalidering med pipeline

python
import numpy as npfrom sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import StratifiedKFold, cross_val_scorefrom sklearn.pipeline import make_pipelinefrom sklearn.preprocessing import StandardScaler rng = np.random.default_rng(4172)X = rng.normal(size=(180, 4))y = (1.1 * X[:, 0] - 0.7 * X[:, 1] + rng.normal(0, 0.8, 180) > 0).astype(int) modell = make_pipeline(StandardScaler(), LogisticRegression(max_iter=1000))folder = StratifiedKFold(n_splits=5, shuffle=True, random_state=4172)score = cross_val_score(modell, X, y, cv=folder, scoring="roc_auc") print("AUC per fold:", np.round(score, 3))print(f"gjennomsnitt={score.mean():.3f}, spredning={score.std(ddof=1):.3f}")

StandardScaler tilpasses bare treningsdelen i hver fold fordi den ligger inne i pipelinen. Fast seed gjør både data og foldfordeling reproduserbar.

Læringsmål

Hva du skal kunne etter å ha lest kapittelet.

  1. 01Bygge en confusion matrix og beregne accuracy, precision, recall, specificity og F1
  2. 02Forklare hvordan beslutningsterskelen flytter TPR og FPR langs en ROC-kurve
  3. 03Tolke AUC som rangeringsevne og beskrive hva AUC ikke måler
  4. 04Skille trening, validering og test og oppdage lekkasje i en evalueringsflyt
  5. 05Gjennomføre lekkasjefri kryssvalidering og tolke gjennomsnitt og variasjon
  6. 06Diagnostisere under- og overtilpasning fra trenings- og valideringsresultater