Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Metrikker | Velge Den Beste Modellen
Lineær Regresjon med Python

Metrikker

Sveip for å vise menyen

Når vi bygger en modell, trenger vi en metrikk som måler hvor godt den passer til dataene. En metrikk gir en numerisk score som beskriver modellens ytelse. I dette kapittelet fokuserer vi på de vanligste.

Vi vil bruke følgende notasjon:

Notasjon

Vi er allerede kjent med én metrikk, SSR (Sum of Squared Residuals), som vi minimerte for å identifisere de optimale parameterne.
Med vår notasjon kan vi uttrykke formelen for SSR slik:

SSRformel

eller tilsvarende:

SSRsum

Denne metrikken fungerer kun når modellene bruker samme antall datapunkter. Den viser ikke hvor godt en modell faktisk presterer. Tenk deg to modeller trent på datasett av ulik størrelse.

SSRCompare

Den første modellen passer bedre visuelt, men har høyere SSR fordi den har flere punkter, så summen øker selv med mindre gjennomsnittlige residualer. Å bruke gjennomsnittet av kvadrerte residualer løser 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 kvadrert, noe som gjør tolkningen vanskeligere. Hvis MSE er 49 dollar², ønsker vi feilen i dollar. Å ta kvadratroten gir 7 — Root Mean Squared Error (RMSE).

RMSE

RMSEsum

Beregn RMSE ved å bruke:

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 å kvadrere residualene, kan vi ta deres absolutte verdier — dette gir Mean Absolute Error (MAE).

MAEformel

eller tilsvarende

MAEsum

MAE oppfører seg som MSE, men håndterer store feil mer skånsomt. Fordi den bruker absolutte verdier, er den mer robust mot uteliggere, noe som gjør den nyttig når ekstreme verdier påvirker datasettet.

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 oss med å utlede den normale ligningen, men enhver metrikk kan brukes når man sammenligner modeller.

Note
Merk

SSR, MSE og RMSE rangerer alltid modeller likt, mens MAE kan foretrekke en annen fordi den straffer store feil mindre. Du bør velge en metrikk på forhånd og optimalisere spesifikt for den.

ModelCompare

Nå kan du helt sikkert si at den andre modellen er bedre siden alle dens måleverdier er lavere. Likevel betyr ikke lavere måleverdier alltid at modellen er bedre.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Metrikker

Når vi bygger en modell, trenger vi en metrikk som måler hvor godt den passer til dataene. En metrikk gir en numerisk score som beskriver modellens ytelse. I dette kapittelet fokuserer vi på de vanligste.

Vi vil bruke følgende notasjon:

Notasjon

Vi er allerede kjent med én metrikk, SSR (Sum of Squared Residuals), som vi minimerte for å identifisere de optimale parameterne.
Med vår notasjon kan vi uttrykke formelen for SSR slik:

SSRformel

eller tilsvarende:

SSRsum

Denne metrikken fungerer kun når modellene bruker samme antall datapunkter. Den viser ikke hvor godt en modell faktisk presterer. Tenk deg to modeller trent på datasett av ulik størrelse.

SSRCompare

Den første modellen passer bedre visuelt, men har høyere SSR fordi den har flere punkter, så summen øker selv med mindre gjennomsnittlige residualer. Å bruke gjennomsnittet av kvadrerte residualer løser 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 kvadrert, noe som gjør tolkningen vanskeligere. Hvis MSE er 49 dollar², ønsker vi feilen i dollar. Å ta kvadratroten gir 7 — Root Mean Squared Error (RMSE).

RMSE

RMSEsum

Beregn RMSE ved å bruke:

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 å kvadrere residualene, kan vi ta deres absolutte verdier — dette gir Mean Absolute Error (MAE).

MAEformel

eller tilsvarende

MAEsum

MAE oppfører seg som MSE, men håndterer store feil mer skånsomt. Fordi den bruker absolutte verdier, er den mer robust mot uteliggere, noe som gjør den nyttig når ekstreme verdier påvirker datasettet.

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 oss med å utlede den normale ligningen, men enhver metrikk kan brukes når man sammenligner modeller.

Note
Merk

SSR, MSE og RMSE rangerer alltid modeller likt, mens MAE kan foretrekke en annen fordi den straffer store feil mindre. Du bør velge en metrikk på forhånd og optimalisere spesifikt for den.

ModelCompare

Nå kan du helt sikkert si at den andre modellen er bedre siden alle dens måleverdier er lavere. Likevel betyr ikke lavere måleverdier alltid at modellen er bedre.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1
some-alt