Generowanie losowego podziału na zbiór testowy i treningowy
W kilku kolejnych ćwiczeniach będziesz korzystać z danych mpg z pakietu ggplot2. Zbiór opisuje charakterystyki różnych marek i modeli samochodów z różnych lat. Celem jest przewidywanie zużycia paliwa w mieście na podstawie zużycia paliwa na autostradzie.
W tym ćwiczeniu podzielisz zbiór mpg na zbiór treningowy mpg_train (75% danych) i zbiór testowy mpg_test (25% danych). Jednym ze sposobów jest wygenerowanie kolumny jednostajnych liczb losowych z przedziału od 0 do 1 przy użyciu funkcji runif() (dokumentacja).
Jeśli masz zbiór danych dframe o rozmiarze \(N\) i chcesz losowy podzbiór o przybliżonym rozmiarze \(100 * X\)% z \(N\) (gdzie \(X\) należy do przedziału od 0 do 1), postępuj następująco:
- Wygeneruj wektor jednostajnych liczb losowych:
gp = runif(N). dframe[gp < X,]będzie miał mniej więcej odpowiedni rozmiar.dframe[gp >= X,]będzie jego dopełnieniem.
To ćwiczenie jest częścią kursu
Nadzorowane uczenie maszynowe w R: regresja
Instrukcje do ćwiczenia
- Użyj funkcji
nrow(dokumentacja), aby uzyskać liczbę wierszy w ramce danychmpg. Przypisz tę wartość do zmiennejNi wydrukuj ją. - Oblicz, ile wierszy stanowi około 75% z N. Przypisz wynik do zmiennej
targeti wydrukuj go. - Użyj
runif(), aby wygenerować wektorNjednostajnych liczb losowych o nazwiegp. - Użyj
gp, aby podzielićmpgnampg_trainimpg_test(tak, żebympg_trainzawierał około 75% danych). - Użyj
nrow(), aby sprawdzić rozmiarympg_trainimpg_test. Czy mają mniej więcej oczekiwaną wielkość?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
___
___