CommencezCommencez gratuitement

Partitions d'entraînement/de test

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

sdf_random_split() permet de partitionner votre trame de données en ensembles d'entraînement et de test. Son utilisation est la suivante.

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

Deux points sont à noter. Premièrement, si les valeurs de partition ne totalisent pas un, elles seront mises à l'échelle 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 utiliser n'importe quels noms d'ensembles et partitionner les données en plus de deux ensembles. L'exemple suivant est donc aussi 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 à l'aide des opérateurs d'indexation de liste habituels.

partitioned$a
partitioned[["b"]]

Cette activité fait partie du cours

Introduction à Spark avec sparklyr en R

Voir le cours

Instructions de l’exercice

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

  • Utilisez sdf_random_split() pour répartir les métadonnées des pistes.
    • Mettez 70 % dans un ensemble nommé training.
    • Mettez 30 % dans un ensemble nommé testing.
  • Obtenez les sdf_dim()ensions du tibble d'entraînement.
  • Obtenez les dimensions du tibble de test.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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