Kom igångKom igång gratis

Tränings- och testpartitioner

När du kör en prediktiv modell behöver du vanligtvis anpassa modellen på en delmängd av dina data ("tränings"uppsättningen) och sedan testa modellens förutsägelser mot resten ("test"uppsättningen).

sdf_random_split() är ett sätt att partitionera en dataram i tränings- och testuppsättningar. Funktionen används så här.

a_tibble %>%
  sdf_random_split(training = 0.7, testing = 0.3)

Det finns två saker att notera. För det första: om partitionsvärdena inte summerar till ett skalas de automatiskt så att de gör det. Om du anger training = 0.35 och testing = 0.15 får du alltså dubbelt så mycket som du begärde. För det andra kan du använda valfria namn på delmängderna och dela upp data i fler än två delar. Följande är till exempel också giltigt.

a_tibble %>%
  sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)

Returvärdet är en lista med tibbles. Du kommer åt varje element med vanliga listindexeringsoperatorer.

partitioned$a
partitioned[["b"]]

Den här övningen är en del av kursen

Introduktion till Spark med sparklyr i R

Visa kurs

Övningsinstruktioner

En Spark-anslutning har skapats åt dig som spark_conn. En tibble kopplad till spårmetadata lagrad i Spark har fördefintierats som track_metadata_tbl.

  • Använd sdf_random_split() för att dela upp spårmetadata.
    • Lägg 70 % i en delmängd med namnet training.
    • Lägg 30 % i en delmängd med namnet testing.
  • Hämta sdf_dim()ensionerna för tränings-tibble:n.
  • Hämta dimensionerna för test-tibble:n.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
___
Redigera och kör kod