Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Metrikker | Valg af den Bedste Model
Lineær Regression med Python

Metrikker

Stryg for at vise menuen

Når vi opbygger en model, har vi brug for en metrisk, der måler, hvor godt den passer til dataene. En metrik giver en numerisk score, der beskriver modellens ydeevne. I dette kapitel fokuserer vi på de mest almindelige.

Vi bruger følgende notation:

Notation

Vi er allerede bekendt med én metrik, SSR (Sum af kvadrerede residualer), som vi minimerede for at identificere de optimale parametre.
Med vores notation kan vi udtrykke formlen for SSR således:

SSRformel

eller tilsvarende:

SSRsum

Denne metrik fungerer kun, når modeller bruger det samme antal datapunkter. Den viser ikke, hvor godt en model faktisk præsterer. Forestil dig to modeller, der er trænet på datasæt af forskellig størrelse.

SSRCompare

Den første model passer bedre visuelt, men har en højere SSR, fordi den har flere punkter, så summen stiger selv med mindre gennemsnitlige residualer. Ved at bruge gennemsnittet af kvadrerede residualer løses dette — Mean Squared Error (MSE).

MSE

MSEformel

eller tilsvarende:

MSEsum

Beregn MSE med NumPy:

mse = np.mean((y_true - y_pred)**2)

Eller Scikit-learn:

from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)

MSE er kvadreret, hvilket gør fortolkningen sværere. Hvis MSE er 49 dollars², ønsker vi fejlen i dollars. At tage kvadratroden giver 7 — Root Mean Squared Error (RMSE).

RMSE

RMSEsum

Beregn RMSE ved hjælp af:

rmse = np.sqrt(np.mean((y_true - y_pred)**2))

Eller Scikit-learn:

rmse = mean_squared_error(y_true, y_pred, squared=False)

MAE

I stedet for at kvadrere residualerne kan vi tage deres absolutte værdier — dette giver Mean Absolute Error (MAE).

MAEformel

eller tilsvarende

MAEsum

MAE opfører sig som MSE, men håndterer store fejl mere skånsomt. Da den bruger absolutte værdier, er den mere robust over for outliers, hvilket gør den nyttig, når ekstreme værdier forvrænger datasættet.

Beregn MAE:

mae = np.mean(np.fabs(y_true - y_pred))

Eller:

from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)

SSR hjalp os med at udlede den normale ligning, men enhver metrisk kan bruges, når modeller sammenlignes.

Note
Bemærk

SSR, MSE og RMSE rangerer altid modellerne ens, mens MAE kan foretrække en anden, fordi den straffer store fejl mindre. Det er vigtigt at vælge en metrisk på forhånd og optimere specifikt for den.

ModelCompare

Nu kan du med sikkerhed sige, at den anden model er bedre, da alle dens metrikker er lavere. Dog betyder lavere metrikker ikke altid, at modellen er bedre.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 1
some-alt