Slumpmässig ordning på dataramen
Ett sätt att dela upp ett dataset i tränings- och testmängd är att slumpmässigt ordna om det och sedan dela in det i de två delmängderna. På så sätt är båda slumpmässiga urval, och eventuella snedvridningar i datasetets ursprungliga ordning – till exempel om det sorterats efter pris eller storlek – påverkar inte de urval du använder för att träna och testa dina modeller. Tänk på det som att blanda en ny kortlek innan du delar ut korten.
Börja med att sätta ett slumpmässigt frö så att ditt arbete är reproducerbart och du får samma slumpmässiga uppdelning varje gång du kör ditt skript:
set.seed(42)
Använd sedan funktionen sample() för att blanda radindexen i datamängden diamonds. Du kan sedan använda dessa index för att ordna om datamängden.
rows <- sample(nrow(diamonds))
Slutligen kan du använda den här slumpmässiga vektorn för att ordna om diamonds-datamängden:
diamonds <- diamonds[rows, ]
Den här övningen är en del av kursen
Maskininlärning med caret i R
Övningsinstruktioner
- Sätt det slumpmässiga fröet till 42.
- Skapa en vektor med radindex som du kallar
rows. - Ordna om dataramen
diamondsslumpmässigt och tilldela resultatet tillshuffled_diamonds.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Set seed
# Shuffle row indices: rows
# Randomly order data