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
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.
- Placez 70 % dans un ensemble nommé
- 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
___