Training-/Test-Partitionen
Meistens, wenn du ein Vorhersagemodell erstellst, musst du das Modell auf einem Teil deiner Daten (dem „Training“-Set) fitten und die Vorhersagen anschließend am Rest deiner Daten (dem „Testing“-Set) prüfen.
sdf_random_split() bietet eine Möglichkeit, deinen Data Frame in Trainings- und Test-Sets zu partitionieren. Die Verwendung sieht so aus:
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
Dabei sind zwei Dinge zu beachten. Erstens: Wenn die Partitionswerte nicht genau 1 ergeben, werden sie so skaliert, dass sie zusammen 1 ergeben. Wenn du also training = 0.35 und testing = 0.15 übergibst, erhältst du das Doppelte des Angeforderten. Zweitens: Du kannst beliebige Set-Namen verwenden und die Daten in mehr als zwei Sets aufteilen. Das Folgende ist also ebenfalls gültig.
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
Der Rückgabewert ist eine Liste von Tibbles. du kannst auf jedes Element mit den üblichen Listen-Indizierungsoperatoren zugreifen.
partitioned$a
partitioned[["b"]]
Diese Übung ist Teil des Kurses
Einführung in Spark mit sparklyr in R
Anleitung zur Übung
Eine Spark-Verbindung wurde als spark_conn für dich erstellt. Ein an die in Spark gespeicherten Track-Metadaten angebundenes Tibble wurde als track_metadata_tbl vordefiniert.
- Verwende
sdf_random_split(), um die Track-Metadaten zu splitten.- Lege 70 % in ein Set namens
training. - Lege 30 % in ein Set namens
testing.
- Lege 70 % in ein Set namens
- Ermittle die
sdf_dim()-ensionen des Training-Tibbles. - Ermittle die Dimensionen des Testing-Tibbles.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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
___