Training-/testpartities
Meestal, wanneer je een voorspellend model draait, moet je het model trainen op een deelverzameling van je data (de "training"-set) en vervolgens de voorspellingen van het model testen op de rest van je data (de "testing"-set).
sdf_random_split() biedt een manier om je data frame op te splitsen in training- en testing-sets. Het gebruik is als volgt.
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
Er zijn twee dingen om op te letten bij het gebruik. Ten eerste: als de partitie-waarden niet optellen tot één, worden ze geschaald zodat dat wel zo is. Als je dus training = 0.35 en testing = 0.15 doorgeeft, krijg je het dubbele van wat je vroeg. Ten tweede: je kunt elke setnaam gebruiken die je wilt, en de data in meer dan twee sets verdelen. Het volgende is dus ook geldig.
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
De geretourneerde waarde is een lijst met tibbles. Je kunt elk element benaderen met de gebruikelijke lijst-indexeeroperators.
partitioned$a
partitioned[["b"]]
Deze oefening maakt deel uit van de cursus
Introductie tot Spark met sparklyr in R
Oefeninstructies
Er is een Spark-verbinding voor je aangemaakt als spark_conn. Een tibble die is gekoppeld aan de trackmetadata die in Spark is opgeslagen, is vooraf gedefinieerd als track_metadata_tbl.
- Gebruik
sdf_random_split()om de trackmetadata te splitsen.- Plaats 70% in een set met de naam
training. - Plaats 30% in een set met de naam
testing.
- Plaats 70% in een set met de naam
- Haal de
sdf_dim()-ensies op van de training-tibble. - Haal de dimensies op van de testing-tibble.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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
___