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

bookOverfitting

Overfitting

Overvej de to regressionslinjer nedenfor. Hvilken er bedst?

Målingerne antyder, at den anden model er bedre, så vi bruger den til at forudsige X_new = [0.2, 0.5, 2.7]. Men efter at have sammenlignet forudsigelser med faktiske værdier, klarer den første model sig bedre.

Dette sker, fordi den anden model overfitter — den er for kompleks og matcher træningsdataene for tæt, hvilket medfører, at den ikke generaliserer til nye tilfælde.

Underfitting

Underfitting opstår, når en model er for simpel til selv at tilpasse træningsdataene, hvilket også fører til dårlige forudsigelser på usete data.

Vi kan derfor forsøge at vurdere, om modellen underfitter eller overfitter visuelt.

Da vi ikke kan visualisere høj-dimensionelle modeller, har vi brug for en anden metode til at opdage overfitting eller underfitting.

Opdeling i trænings- og testdatasæt

For at estimere ydeevne på usete data opdeles datasættet i et træningssæt og et testsæt med kendte mål.

Træning udføres på træningssættet, og metrikker beregnes på både trænings- og testsættet for at sammenligne ydeevne.

Opdelingen skal være tilfældig. Typisk anvendes 20–30% til testsættet, og 70–80% bruges til træning. Scikit-learn tilbyder en nem metode til dette.

For eksempel, for at opdele træningssættet i 70% træning/30% test, kan du bruge følgende kode:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

Baseret på MSE-scorerne for modellerne, afgør om de overtilpasser/undertilpasser træningssættet (datasættet er det samme).

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

Click or drag`n`drop items and fill in the blanks

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2

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

Suggested prompts:

Can you explain more about how overfitting and underfitting affect model performance?

What are some ways to prevent overfitting in machine learning models?

How do I choose the right train-test split ratio for my dataset?

Awesome!

Completion rate improved to 5.26

bookOverfitting

Stryg for at vise menuen

Overfitting

Overvej de to regressionslinjer nedenfor. Hvilken er bedst?

Målingerne antyder, at den anden model er bedre, så vi bruger den til at forudsige X_new = [0.2, 0.5, 2.7]. Men efter at have sammenlignet forudsigelser med faktiske værdier, klarer den første model sig bedre.

Dette sker, fordi den anden model overfitter — den er for kompleks og matcher træningsdataene for tæt, hvilket medfører, at den ikke generaliserer til nye tilfælde.

Underfitting

Underfitting opstår, når en model er for simpel til selv at tilpasse træningsdataene, hvilket også fører til dårlige forudsigelser på usete data.

Vi kan derfor forsøge at vurdere, om modellen underfitter eller overfitter visuelt.

Da vi ikke kan visualisere høj-dimensionelle modeller, har vi brug for en anden metode til at opdage overfitting eller underfitting.

Opdeling i trænings- og testdatasæt

For at estimere ydeevne på usete data opdeles datasættet i et træningssæt og et testsæt med kendte mål.

Træning udføres på træningssættet, og metrikker beregnes på både trænings- og testsættet for at sammenligne ydeevne.

Opdelingen skal være tilfældig. Typisk anvendes 20–30% til testsættet, og 70–80% bruges til træning. Scikit-learn tilbyder en nem metode til dette.

For eksempel, for at opdele træningssættet i 70% træning/30% test, kan du bruge følgende kode:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

Baseret på MSE-scorerne for modellerne, afgør om de overtilpasser/undertilpasser træningssættet (datasættet er det samme).

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

Click or drag`n`drop items and fill in the blanks

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2
some-alt