LoslegenKostenlos loslegen

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

Kurs anzeigen

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.
  • 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
___
Code bearbeiten und ausführen