Generarea unei împărțiri aleatoare în seturi de antrenament și de testare
În următoarele câteva exerciții vei folosi datele mpg din pachetul ggplot2. Setul de date descrie caracteristicile mai multor mărci și modele de mașini din diferiți ani. Scopul este să prezici eficiența consumului de combustibil în oraș pe baza eficienței pe autostradă.
În acest exercițiu, vei împărți mpg într-un set de antrenament mpg_train (75% din date) și un set de testare mpg_test (25% din date). O modalitate de a face acest lucru este să generezi o coloană de numere aleatoare uniforme între 0 și 1, folosind funcția runif() (docs).
Dacă ai un set de date dframe de dimensiune \(N\) și vrei un subset aleator de aproximativ \(100 * X\)% din \(N\) (unde \(X\) este între 0 și 1), atunci:
- Generează un vector de numere aleatoare uniforme:
gp = runif(N). dframe[gp < X,]va avea aproximativ dimensiunea dorită.dframe[gp >= X,]va fi complementul.
Acest exercițiu face parte din cursul
Învățare supervizată în R: Regresia
Instrucțiuni pentru exercițiu
- Folosește funcția
nrow(docs) pentru a obține numărul de rânduri din cadrul de datempg. Atribuie această valoare variabileiNși afișeaz-o. - Calculează câte rânduri reprezintă aproximativ 75% din N. Atribuie rezultatul variabilei
targetși afișeaz-o. - Folosește
runif()pentru a genera un vector cuNnumere aleatoare uniforme, numitgp. - Folosește
gppentru a împărțimpgînmpg_trainșimpg_test(astfel încâtmpg_trainsă conțină aproximativ 75% din date). - Folosește
nrow()pentru a verifica dimensiunea luimpg_trainșimpg_test. Au aproximativ dimensiunea așteptată?
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# mpg is available
summary(mpg)
dim(mpg)
# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)
# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)
# Create the vector of N uniform random variables: gp
gp <- ___
# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___
# Use nrow() to examine mpg_train and mpg_test
___
___