Zacznij terazZacznij za darmo

Podział na zbiór treningowy i testowy

Podczas budowania modelu predykcyjnego zazwyczaj dopasowujesz go na jednej części danych ("zbiorze treningowym"), a następnie testujesz jego przewidywania na pozostałej części ("zbiorze testowym").

sdf_random_split() umożliwia podział ramki danych na zbiór treningowy i testowy. Sposób użycia jest następujący.

a_tibble %>%
  sdf_random_split(training = 0.7, testing = 0.3)

Warto zwrócić uwagę na dwie kwestie. Po pierwsze, jeśli podane wartości nie sumują się do jedynki, zostaną przeskalowane tak, aby tak było. Oznacza to, że podanie training = 0.35 i testing = 0.15 da wyniki dwukrotnie większe od oczekiwanych. Po drugie, możesz użyć dowolnych nazw zbiorów i podzielić dane na więcej niż dwie części. Poniższe wywołanie jest zatem w pełni poprawne.

a_tibble %>%
  sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)

Wynikiem funkcji jest lista tibble'i. Do poszczególnych elementów możesz odwoływać się za pomocą standardowych operatorów indeksowania listy.

partitioned$a
partitioned[["b"]]

To ćwiczenie jest częścią kursu

Wprowadzenie do Spark z pakietem sparklyr w R

Zobacz kurs

Instrukcje do ćwiczenia

Połączenie ze Sparkiem zostało już utworzone jako spark_conn. Tibble podłączony do metadanych utworów przechowywanych w Sparku jest dostępny jako track_metadata_tbl.

  • Użyj sdf_random_split(), aby podzielić metadane utworów.
    • Umieść 70% danych w zbiorze o nazwie training.
    • Umieść 30% danych w zbiorze o nazwie testing.
  • Pobierz wymiary sdf_dim() tibble'a treningowego.
  • Pobierz wymiary tibble'a testowego.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

partitioned <- track_metadata_tbl %>%
  # Partition into training and testing sets
  ___

# Get the dimensions of the training set
___

# Get the dimensions of the testing set
___
Edytuj i uruchom kod