CommencerCommencer gratuitement

Regrouper l’heure de départ en classes

Les heures de la journée posent un défi pour les modèles de régression. Elles sont aussi d’excellentes candidates pour un regroupement en classes (bucketing).

Dans cette leçon, vous allez convertir les heures de départ des vols, actuellement des valeurs numériques entre 0 (correspondant à 00:00) et 24 (correspondant à 24:00), en valeurs regroupées par intervalles. Vous utiliserez ensuite ces classes pour effectuer un one‑hot encoding.

Cet exercice fait partie du cours

Apprentissage automatique avec PySpark

Afficher le cours

Instructions

  • Créez un objet bucketizer avec des bornes d’intervalles à 0, 3, 6, …, 24, qui correspondent aux heures 0:00, 03:00, 06:00, …, 24:00. Indiquez la colonne d’entrée depart et la colonne de sortie depart_bucket.
  • Regroupez les heures de départ dans les données flights. Affichez les cinq premières valeurs de depart et depart_bucket.
  • Créez un objet one‑hot encoder en spécifiant depart_bucket comme colonne d’entrée et depart_dummy comme colonne de sortie.
  • Ajustez l’encodeur sur les données regroupées puis utilisez‑le pour transformer ces données en variables indicatrices. Affichez les cinq premières valeurs de depart, depart_bucket et depart_dummy.

Exercice interactif pratique

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

from pyspark.ml.feature import Bucketizer, OneHotEncoder

# Create buckets at 3 hour intervals through the day
buckets = ____(splits=[____], inputCol='____', outputCol='____')

# Bucket the departure times
bucketed = buckets.____(____)
bucketed.____('____', '____').____(____)

# Create a one-hot encoder
onehot = ____(inputCols=['____'], outputCols=['____'])

# One-hot encode the bucketed departure times
flights_onehot = ____.____(____).____(____)
flights_onehot.____('____', '____', '____').____(____)
Modifier et exécuter le code