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
Ö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.
- Lägg 70 % i en delmängd med namnet
- 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
___