Een willekeurige test/train-split maken
In de komende oefeningen gebruik je de mpg-gegevens uit het pakket ggplot2. Deze gegevens beschrijven de eigenschappen van verschillende automerken en -modellen uit verschillende jaren. Het doel is om het brandstofverbruik in de stad te voorspellen op basis van het brandstofverbruik op de snelweg.
In deze oefening splits je mpg in een trainingsset mpg_train (75% van de data) en een testset mpg_test (25% van de data). Een manier om dit te doen is door een kolom met uniforme willekeurige getallen tussen 0 en 1 te genereren met de functie runif() (docs).
Als je een gegevensset dframe hebt van grootte \(N\), en je wilt een willekeurige deelverzameling van ongeveer \(100 * X\)% van \(N\) (waarbij \(X\) tussen 0 en 1 ligt), dan:
- Genereer een vector met uniforme willekeurige getallen:
gp = runif(N). dframe[gp < X,]zal ongeveer de juiste grootte hebben.dframe[gp >= X,]is de complementverzameling.
Deze oefening maakt deel uit van de cursus
Supervised Learning in R: Regressie
Oefeninstructies
- Gebruik de functie
nrow(docs) om het aantal rijen in de data framempgop te vragen. Ken deze telling toe aan de variabeleNen print deze. - Bereken ongeveer hoeveel rijen 75% van N is. Ken dit toe aan de variabele
targeten print deze. - Gebruik
runif()om een vector vanNuniforme willekeurige getallen te genereren, genaamdgp. - Gebruik
gpommpgop te splitsen inmpg_trainenmpg_test(waarbijmpg_trainongeveer 75% van de data bevat). - Gebruik
nrow()om de grootte vanmpg_trainenmpg_testte controleren. Hebben ze ongeveer de juiste omvang?
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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
___
___