Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Statistieken | Het Beste Model Kiezen
Lineaire Regressie met Python

Statistieken

Veeg om het menu te tonen

Bij het bouwen van een model hebben we een maatstaf nodig die aangeeft hoe goed het model bij de data past. Een maatstaf geeft een numerieke score die de modelprestaties beschrijft. In dit hoofdstuk richten we ons op de meest voorkomende maatstaven.

We gebruiken de volgende notatie:

Notatie

We zijn al bekend met één maatstaf, SSR (Sum of Squared Residuals), die we hebben geminimaliseerd om de optimale parameters te bepalen.
Met onze notatie kunnen we de formule voor SSR als volgt uitdrukken:

SSRformula

of gelijkwaardig:

SSRsum

Deze maatstaf werkte alleen wanneer modellen hetzelfde aantal datapunten gebruikten. Het laat niet zien hoe goed een model daadwerkelijk presteert. Stel je twee modellen voor die zijn getraind op datasets van verschillende grootte.

SSRCompare

Het eerste model past visueel beter, maar heeft een hogere SSR omdat het meer punten bevat, waardoor de som toeneemt, zelfs met kleinere gemiddelde residuen. Het gebruik van het gemiddelde van de gekwadrateerde residuen lost dit op — de Mean Squared Error (MSE).

MSE

MSEformule

of gelijkwaardig:

MSEsom

Bereken MSE met NumPy:

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

Of met Scikit-learn:

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

MSE is gekwadrateerd, wat interpretatie moeilijker maakt. Als MSE 49 dollar² is, willen we de fout in dollars. De wortel nemen geeft 7 — de Root Mean Squared Error (RMSE).

RMSE

RMSEsom

Bereken RMSE met:

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

Of met Scikit-learn:

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

MAE

In plaats van de residuen te kwadrateren, kunnen we hun absolute waarden nemen — dit levert de Mean Absolute Error (MAE) op.

MAEformule

of gelijkwaardig

MAEsum

MAE gedraagt zich vergelijkbaar met MSE, maar behandelt grote fouten milder. Omdat het absolute waarden gebruikt, is het robuuster tegen uitschieters, waardoor het nuttig is wanneer extreme waarden de dataset beïnvloeden.

MAE berekenen:

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

Of:

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

SSR hielp ons bij het afleiden van de normale vergelijking, maar elke metriek kan worden gebruikt bij het vergelijken van modellen.

Note
Opmerking

SSR, MSE en RMSE rangschikken modellen altijd op dezelfde manier, terwijl MAE mogelijk een ander model verkiest omdat het grote fouten minder zwaar bestraft. Het is belangrijk om vooraf een metriek te kiezen en hier specifiek op te optimaliseren.

ModelVergelijken

Nu kun je zeker zeggen dat het tweede model beter is, aangezien al zijn metriekwaarden lager zijn. Echter, lagere metriekwaarden betekenen niet altijd dat het model beter is.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 1

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Statistieken

Bij het bouwen van een model hebben we een maatstaf nodig die aangeeft hoe goed het model bij de data past. Een maatstaf geeft een numerieke score die de modelprestaties beschrijft. In dit hoofdstuk richten we ons op de meest voorkomende maatstaven.

We gebruiken de volgende notatie:

Notatie

We zijn al bekend met één maatstaf, SSR (Sum of Squared Residuals), die we hebben geminimaliseerd om de optimale parameters te bepalen.
Met onze notatie kunnen we de formule voor SSR als volgt uitdrukken:

SSRformula

of gelijkwaardig:

SSRsum

Deze maatstaf werkte alleen wanneer modellen hetzelfde aantal datapunten gebruikten. Het laat niet zien hoe goed een model daadwerkelijk presteert. Stel je twee modellen voor die zijn getraind op datasets van verschillende grootte.

SSRCompare

Het eerste model past visueel beter, maar heeft een hogere SSR omdat het meer punten bevat, waardoor de som toeneemt, zelfs met kleinere gemiddelde residuen. Het gebruik van het gemiddelde van de gekwadrateerde residuen lost dit op — de Mean Squared Error (MSE).

MSE

MSEformule

of gelijkwaardig:

MSEsom

Bereken MSE met NumPy:

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

Of met Scikit-learn:

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

MSE is gekwadrateerd, wat interpretatie moeilijker maakt. Als MSE 49 dollar² is, willen we de fout in dollars. De wortel nemen geeft 7 — de Root Mean Squared Error (RMSE).

RMSE

RMSEsom

Bereken RMSE met:

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

Of met Scikit-learn:

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

MAE

In plaats van de residuen te kwadrateren, kunnen we hun absolute waarden nemen — dit levert de Mean Absolute Error (MAE) op.

MAEformule

of gelijkwaardig

MAEsum

MAE gedraagt zich vergelijkbaar met MSE, maar behandelt grote fouten milder. Omdat het absolute waarden gebruikt, is het robuuster tegen uitschieters, waardoor het nuttig is wanneer extreme waarden de dataset beïnvloeden.

MAE berekenen:

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

Of:

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

SSR hielp ons bij het afleiden van de normale vergelijking, maar elke metriek kan worden gebruikt bij het vergelijken van modellen.

Note
Opmerking

SSR, MSE en RMSE rangschikken modellen altijd op dezelfde manier, terwijl MAE mogelijk een ander model verkiest omdat het grote fouten minder zwaar bestraft. Het is belangrijk om vooraf een metriek te kiezen en hier specifiek op te optimaliseren.

ModelVergelijken

Nu kun je zeker zeggen dat het tweede model beter is, aangezien al zijn metriekwaarden lager zijn. Echter, lagere metriekwaarden betekenen niet altijd dat het model beter is.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 1
some-alt