Dela upp träning, validering och test
Varför ni behöver tre mängder, inte en
Dela upp träning, validering och test är en gratis lektion i Deep Learning Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Deep Learning Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
En enda datamängd räcker inte
Om du tränar och bedömer en modell på samma data lär du dig bara att den memorerade dessa rader. För att kunna lita på modellen måste du dela upp datan i separata roller.
Möt träningsmängden
Träningsmängden är den data som modellen faktiskt lär sig från. Dess vikter justeras om och om igen för att passa just dessa exempel väl.
Möt valideringsmängden
Valideringsmängden hålls undan under träningen och kontrolleras längs vägen. Den visar hur modellen presterar på data som den aldrig har uppdaterats med.
Möt testmängden
Testmängden används en gång, allra sist. Den ger ett ärligt slutgiltigt resultat efter att alla val redan har gjorts.
Varför valideringen är separat
Du justerar parametrar som inlärningsfrekvens genom att studera valideringsresultaten. Då läcker valideringsmängden i det tysta in i dina val, så den kan inte längre vara en opartisk slutlig bedömare.
Testmängden förblir förseglad
Eftersom valideringen vägledde dina beslut behöver du en orörd mängd som ger sanningen. Håll testmängden förseglad tills du är helt klar.
En vanlig uppdelning
En vanlig utgångspunkt är ungefär 80/10/10: merparten av datan till träning och mindre delar till validering och test. Anpassa efter hur mycket data du har.
Dela upp med random_split
PyTorch ger dig random_split för att dela en datamängd i delar efter längd. Den blandar åt dig vilka exempel som hamnar i varje mängd.
from torch.utils.data import random_split
train, val, test = random_split(ds, [800, 100, 100])Använd seed för reproducerbara uppdelningar
Uppdelningen är slumpmässig, så ange ett seed om du vill få samma delar vid varje körning. Det gör experiment jämförbara mellan sessioner.
g = torch.Generator().manual_seed(42)
train, val, test = random_split(ds, [800, 100, 100], generator=g)Stratifiera för balans
Med ovanliga klasser kan en vanlig slumpmässig uppdelning lämna vissa klasser utanför. Stratifiering håller klassfördelningen i varje mängd nära originalets, så att resultaten förblir meningsfulla.
Tjuvkika aldrig på testmängden
Gyllene regeln är enkel: låt inte testmängden påverka något beslut. Så fort den gör det är ditt slutliga resultat inte längre tillförlitligt.
Snabbkontroll
Vilken mängd ska du titta på endast en gång, allra sist?
Sammanfattning
Tre mängder, tre uppgifter: träningen lär modellen, valideringen vägleder dina justeringar och testningen ger det slutliga ärliga resultatet. Håll testmängden förseglad tills slutet. 🎯
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Dela upp träning, validering och test” gratis?
Ja – hela texten till ”Dela upp träning, validering och test” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Deep Learning Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Dela upp träning, validering och test”?
Varför ni behöver tre mängder, inte en Ni övar på Deep Learning Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Deep Learning Academy?
Du behöver inga förkunskaper. Utbildningen i Deep Learning Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Dela upp träning, validering och test”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Deep Learning Academy-lektionen?
Ja. Varje Deep Learning Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Dela upp träning, validering och test
- En epoch-loop med validering
- Spara och läs in med state_dict
- Early stopping på valideringsförlust