Partizioni training/testing
Nella maggior parte dei casi, quando esegui un modello predittivo, devi addestrare il modello su un sottoinsieme dei dati (il set di "training"), poi testare le previsioni del modello sul resto dei dati (il set di "testing").
sdf_random_split() ti permette di partizionare il tuo data frame in set di training e testing. L’uso è il seguente.
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
Ci sono due aspetti da notare. Primo, se i valori di partizione non sommano a uno, verranno riscalati in modo che lo facciano. Quindi, se passi training = 0.35 e testing = 0.15, otterrai il doppio di quanto richiesto. Secondo, puoi usare qualsiasi nome per i set e partizionare i dati in più di due set. Quindi anche il seguente è valido.
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
Il valore restituito è una lista di tibble. Puoi accedere a ciascuno usando i consueti operatori di indicizzazione delle liste.
partitioned$a
partitioned[["b"]]
Questo esercizio fa parte del corso
Introduzione a Spark con sparklyr in R
Istruzioni dell'esercizio
È stata creata per te una connessione Spark come spark_conn. Un tibble collegato ai metadati delle tracce memorizzati in Spark è stato predefinito come track_metadata_tbl.
- Usa
sdf_random_split()per suddividere i metadati delle tracce.- Metti il 70% in un set chiamato
training. - Metti il 30% in un set chiamato
testing.
- Metti il 70% in un set chiamato
- Ottieni le
sdf_dim()ensioni del tibble di training. - Ottieni le dimensioni del tibble di testing.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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
___