Överanpassning
Svep för att visa menyn
Överanpassning
Titta på de två regressionslinjerna nedan. Vilken är bättre?
Mätvärdena antyder att den andra modellen är bättre, så vi använder den för att förutsäga X_new = [0.2, 0.5, 2.7]. Men efter att ha jämfört förutsägelserna med de faktiska värdena presterar den första modellen bättre.
Detta sker eftersom den andra modellen överanpassar — den är för komplex och anpassar sig för mycket till träningsdatan, vilket gör att den misslyckas med att generalisera till nya exempel.
Underanpassning
Underanpassning uppstår när en modell är för enkel för att passa även träningsdatan, vilket också leder till dåliga förutsägelser på osedd data.
Vi kan alltså försöka avgöra om modellen underanpassar eller överanpassar visuellt.
Eftersom vi inte kan visualisera högdimensionella modeller behöver vi ett annat sätt att upptäcka överanpassning eller underanpassning.
Tränings- och testuppdelning
För att uppskatta prestanda på osedda data delar vi upp datasettet i en träningsuppsättning och en testuppsättning med kända målvariabler.
Vi tränar på träningsuppsättningen och beräknar mätvärden på både tränings- och testuppsättningen för att jämföra prestanda.
Uppdelningen måste vara slumpmässig. Vanligtvis går 20–30 % till testuppsättningen och 70–80 % används för träning. Scikit-learn erbjuder ett enkelt sätt att göra detta.
Till exempel, för att dela upp träningsuppsättningen i 70 % träning/30 % test, kan du använda följande kod:
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)
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Överanpassning
Överanpassning
Titta på de två regressionslinjerna nedan. Vilken är bättre?
Mätvärdena antyder att den andra modellen är bättre, så vi använder den för att förutsäga X_new = [0.2, 0.5, 2.7]. Men efter att ha jämfört förutsägelserna med de faktiska värdena presterar den första modellen bättre.
Detta sker eftersom den andra modellen överanpassar — den är för komplex och anpassar sig för mycket till träningsdatan, vilket gör att den misslyckas med att generalisera till nya exempel.
Underanpassning
Underanpassning uppstår när en modell är för enkel för att passa även träningsdatan, vilket också leder till dåliga förutsägelser på osedd data.
Vi kan alltså försöka avgöra om modellen underanpassar eller överanpassar visuellt.
Eftersom vi inte kan visualisera högdimensionella modeller behöver vi ett annat sätt att upptäcka överanpassning eller underanpassning.
Tränings- och testuppdelning
För att uppskatta prestanda på osedda data delar vi upp datasettet i en träningsuppsättning och en testuppsättning med kända målvariabler.
Vi tränar på träningsuppsättningen och beräknar mätvärden på både tränings- och testuppsättningen för att jämföra prestanda.
Uppdelningen måste vara slumpmässig. Vanligtvis går 20–30 % till testuppsättningen och 70–80 % används för träning. Scikit-learn erbjuder ett enkelt sätt att göra detta.
Till exempel, för att dela upp träningsuppsättningen i 70 % träning/30 % test, kan du använda följande kod:
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)
Tack för dina kommentarer!