1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do Spark z pakietem sparklyr w R

Connected

ćwiczenie

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"]]

Instrukcje

100 XP

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.