Partiții de antrenament/testare
De cele mai multe ori, când rulezi un model predictiv, trebuie să antrenezi modelul pe un subset al datelor tale (setul de „antrenament"), apoi să testezi predicțiile modelului pe restul datelor (setul de „testare").
sdf_random_split() oferă o modalitate de a împărți un data frame în seturi de antrenament și testare. Sintaxa de utilizare este următoarea.
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
Sunt două aspecte importante de reținut. În primul rând, dacă valorile partițiilor nu se adună la unu, ele vor fi scalate automat. Astfel, dacă transmiți training = 0.35 și testing = 0.15, vei obține de două ori mai mult decât ai cerut. În al doilea rând, poți folosi orice nume de seturi dorești și poți împărți datele în mai mult de două seturi. Prin urmare, și următoarea formă este validă.
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
Valoarea returnată este o listă de tibble-uri. Poți accesa fiecare element folosind operatorii obișnuiți de indexare a listelor.
partitioned$a
partitioned[["b"]]
Acest exercițiu face parte din cursul
Introducere în Spark cu sparklyr în R
Instrucțiuni pentru exercițiu
O conexiune Spark a fost creată pentru tine sub numele spark_conn. Un tibble asociat metadatelor pistelor stocate în Spark a fost predefinit ca track_metadata_tbl.
- Folosește
sdf_random_split()pentru a împărți metadatele pistelor.- Plasează 70% într-un set numit
training. - Plasează 30% într-un set numit
testing.
- Plasează 70% într-un set numit
- Obține dimensiunile
sdf_dim()ale tibble-ului de antrenament. - Obține dimensiunile tibble-ului de testare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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
___