Trénovací a testovací rozdělení
Pokud spouštíš prediktivní model, většinou potřebuješ model nejprve natrénovat na jedné části dat (tzv. „trénovací" sada) a pak ověřit jeho předpovědi na zbytku dat (tzv. „testovací" sada).
sdf_random_split() umožňuje rozdělit datový rámec na trénovací a testovací sadu. Použití vypadá takto:
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
Dvě věci jsou tu důležité. Zaprvé, pokud součet hodnot oddílů nedává 1, hodnoty se automaticky přeškálují tak, aby součet byl 1. Kdybys tedy zadal/a training = 0.35 a testing = 0.15, výsledné sady by byly dvojnásobně velké, než jsi žádal/a. Zadruhé, názvy sad si můžeš zvolit libovolně a data rozdělit do více než dvou skupin. I tento zápis je tedy platný:
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
Návratová hodnota je seznam tibblen. Ke každé z nich se dostaneš pomocí standardních operátorů pro indexování seznamů:
partitioned$a
partitioned[["b"]]
Toto cvičení je součástí kurzu
Úvod do Sparku se sparklyr v R
Pokyny k cvičení
Spark připojení je pro tebe připraveno jako spark_conn. Tibble napojená na metadata skladeb uložená ve Sparku je předem definována jako track_metadata_tbl.
- Pomocí
sdf_random_split()rozděl metadata skladeb.- 70 % dat vlož do sady s názvem
training. - 30 % dat vlož do sady s názvem
testing.
- 70 % dat vlož do sady s názvem
- Zjisti
sdf_dim()enze trénovací tibble. - Zjisti dimenze testovací tibble.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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
___