Aan de slagBegin gratis

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

Bekijk cursus

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.
  • 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
___
Code bewerken en uitvoeren