CommencerCommencer gratuitement

Partitions entraînement/test

La plupart du temps, lorsque vous exécutez un modèle prédictif, vous devez ajuster le modèle sur un sous-ensemble de vos données (le jeu « training »), puis tester ses prédictions sur le reste des données (le jeu « testing »).

sdf_random_split() permet de partitionner votre DataFrame en jeux d’entraînement et de test. Son utilisation est la suivante.

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

Deux remarques importantes concernant son utilisation. Premièrement, si les valeurs de partition ne totalisent pas un, elles seront re‑échelonnées pour y parvenir. Ainsi, si vous passez training = 0.35 et testing = 0.15, vous obtiendrez le double de ce que vous avez demandé. Deuxièmement, vous pouvez choisir n’importe quels noms de jeux et partitionner les données en plus de deux ensembles. L’exemple suivant est donc également valide.

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

La valeur de retour est une liste de tibbles. Vous pouvez accéder à chacun en utilisant les opérateurs d’indexation de liste habituels.

partitioned$a
partitioned[["b"]]

Cet exercice fait partie du cours

Introduction à Spark avec sparklyr en R

Afficher le cours

Instructions

Une connexion Spark a été créée pour vous sous le nom spark_conn. Un tibble lié aux métadonnées des morceaux stockées dans Spark a été pré‑défini sous le nom track_metadata_tbl.

  • Utilisez sdf_random_split() pour scinder les métadonnées des morceaux.
    • Placez 70 % dans un ensemble nommé training.
    • Placez 30 % dans un ensemble nommé testing.
  • Récupérez les sdf_dim()ensions du tibble d’entraînement.
  • Récupérez les dimensions du tibble de test.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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
___
Modifier et exécuter le code