Wypróbuj podział 60/40
Jak widziałeś w filmie, w tym rozdziale będziesz pracować ze zbiorem danych Sonar, korzystając z 60% zbioru treningowego i 40% zbioru testowego. Przećwiczmy podział na zbiór treningowy i testowy jeszcze raz, żeby utrwalić ten sposób działania. Przypomnij sobie, że funkcji sample() możesz użyć do losowego przetasowania indeksów wierszy zbioru danych, a następnie zastosować je przy podziale, np.:
n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)
Następnie użyj tych indeksów, aby losowo zmienić kolejność wierszy zbioru danych, np.:
my_data <- my_data[permuted_rows, ]
Gdy zbiór danych ma już losową kolejność, możesz wyodrębnić pierwsze 60% jako zbiór treningowy, a ostatnie 40% jako zbiór testowy.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z caret w R
Instrukcje do ćwiczenia
- Pobierz liczbę obserwacji (wierszy) w zbiorze
Sonari przypisz ją do zmiennejn_obs. - Przetasuj indeksy wierszy zbioru
Sonari zapisz wynik w zmiennejpermuted_rows. - Użyj
permuted_rows, aby losowo zmienić kolejność wierszy zbioruSonari zapisz wynik jakoSonar_shuffled. - Wyznacz właściwy wiersz podziału dla proporcji 60/40. Zapisz numer tego wiersza jako
split. - Zapisz pierwsze 60% zbioru
Sonar_shuffledjako zbiór treningowy. - Zapisz ostatnie 40% zbioru
Sonar_shuffledjako zbiór testowy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Get the number of observations
# Shuffle row indices: permuted_rows
# Randomly order data: Sonar
# Identify row to split on: split
split <- round(n_obs * ___)
# Create train
# Create test