1. Apprendre
  2. /
  3. Cours
  4. /
  5. Introduction à Spark avec sparklyr en R

Connected

Exercice

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"]]

Instructions

100 XP

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.