Resampling: SMOTE og undersampling
Skab balance i træningssættet.
Resampling: SMOTE og undersampling er en gratis Data Science Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Data Science Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Data Science Academy-kurset indeholder 4 lektioner i alt.
Skab balance i træningssættet
En måde at hjælpe en model med at se den sjældne klasse på er at udtage data igen: ændr, hvor mange eksempler af hver klasse den trænes på.
To retninger mod balance
Du kan tilføje flere eksempler af mindretallet (oversampling) eller skære ned på flertallet (undersampling). Begge dele forsøger at udjævne antallet af eksempler i klasserne.
Naiv oversampling
Den enkleste oversampling kopierer blot mindretallets rækker, indtil antallene matcher. Det virker, men de nøjagtige dubletter kan få en model til at memorere dem.
SMOTE kommer på banen
SMOTE opretter syntetiske eksempler af mindretallet i stedet for kopier. Den opfinder nye, sandsynlige punkter mellem virkelige naboer fra mindretallet.
Sådan opretter SMOTE punkter
SMOTE vælger en række fra mindretallet, finder en nærliggende nabo fra mindretallet og placerer et nyt punkt et sted på linjen mellem dem.
SMOTE i kode
Biblioteket imbalanced-learn gør SMOTE til en opgave på to linjer med dine træningsfunktioner og etiketter.
from imblearn.over_sampling import SMOTE
X_res, y_res = SMOTE().fit_resample(X_train, y_train)Undersampling af flertallet
Undersampling fjerner rækker fra flertallet, indtil balancen er genoprettet. Det træner hurtigere, men smider data væk, hvilket kan koste et reelt signal.
Hvornår du skal vælge hvad
Brug oversampling, når data er sparsomme, og hver række er vigtig. Brug undersampling, når flertallet er enormt, og du kan undvære nogle rækker for at opnå mere hastighed.
Den vigtigste regel
Brug kun ny udtagning af data på træningssættet. Hvis du ændrer testdatasættet, bliver dine resultater opdigtede, fordi virkelige data aldrig bliver afbalanceret for dig.
Tilpas kun på træningsdata
SMOTE skal lære udelukkende fra træningsrækker. Hvis du lækker testrækker ind i den nye dataudtagning, oppuster det resultaterne og skaber ubemærket datalækage. ⚠️
Ny dataudtagning er ikke en universalløsning
Afbalancerede antal hjælper, men de er ikke magiske. Kombinér ny dataudtagning med de rigtige mål og nogle gange klassevægte for at opnå de bedste resultater.
Hurtigt tjek
Hvad gør SMOTE anderledes end almindelig oversampling?
Opsummering
Ny dataudtagning skaber balance i træningssættet ved hjælp af oversampling (SMOTE opretter syntetiske rækker) eller undersampling. Brug aldrig ny dataudtagning på testdatasættet. 🎯
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Resampling: SMOTE og undersampling” gratis?
Ja — hele teksten til “Resampling: SMOTE og undersampling” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Data Science Academy-kurset, skal du opgradere til CoddyKit PRO. Data Science Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Resampling: SMOTE og undersampling”?
Skab balance i træningssættet. Du øver dig i Data Science Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Data Science Academy?
Der kræves ingen tidligere erfaring. Data Science Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Resampling: SMOTE og undersampling”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Data Science Academy-lektion?
Ja. Alle Data Science Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvorfor accuracy snyder ved ubalance
- Resampling: SMOTE og undersampling
- Klassevægte og tærskler
- Vælg mål for sjældne hændelser