Heure de départ par tranche horaire
Les données relatives à l'heure de la journée constituent un défi pour les modèles de régression. Ils constituent également d'excellents candidats pour le regroupement.
Dans cette leçon, vous allez convertir les heures de départ des vols, exprimées sous forme de valeurs numériques comprises entre 0 (correspondant à 00h00) et 24 (correspondant à 24h00), en valeurs classées par tranche. Vous prendrez ensuite ces valeurs classées et les encoderez en one-hot.
Cet exercice fait partie du cours
Apprentissage automatique avec PySpark
Instructions
- Créez un objet bucketizer avec des limites de compartiment à 0, 3, 6, …, 24 qui correspondent aux heures 0:00, 03:00, 06:00, …, 24:00. Veuillez indiquer la colonne d'entrée comme suit :
depart
et la colonne de sortie comme suit :depart_bucket
. - Regroupez les heures de départ dans les données de l'
flights
. Veuillez afficher les cinq premières valeurs pourdepart
etdepart_bucket
. - Créez un objet encodeur one-hot en spécifiant l'
depart_bucket
comme colonne d'entrée et l'depart_dummy
comme colonne de sortie. - Ajustez l'encodeur aux données regroupées, puis utilisez-le pour transformer ces données en variables fictives. Veuillez afficher les cinq premières valeurs pour
depart
,depart_bucket
etdepart_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.____('____', '____', '____').____(____)