Regroupement de l'heure de départ en tranches
Les données d'heure de la journée posent un défi pour les modèles de régression. Elles se prêtent aussi très bien au regroupement en tranches.
Dans cette leçon, vous convertirez les heures de départ des vols, qui sont des valeurs numériques entre 0 (correspondant à 00 h 00) et 24 (correspondant à 24 h 00), en valeurs regroupées en tranches. Vous prendrez ensuite ces valeurs groupées et les coderez en one-hot.
Cette activité fait partie du cours
Machine Learning avec PySpark
Instructions de l’exercice
- Créez un objet bucketizer avec des bornes de tranches à 0, 3, 6, …, 24, qui correspondent aux heures 0 h 00, 3 h 00, 6 h 00, …, 24 h 00. Spécifiez la colonne d'entrée
departet la colonne de sortiedepart_bucket. - Regroupez les heures de départ dans les données
flights. Affichez les cinq premières valeurs dedepartetdepart_bucket. - Créez un objet d'encodage one-hot, en spécifiant
depart_bucketcomme colonne d'entrée etdepart_dummycomme colonne de sortie. - Ajustez (fit) l'encodeur aux données regroupées, puis utilisez-le pour transformer ces données en variables muettes (dummy). Affichez les cinq premières valeurs de
depart,depart_bucketetdepart_dummy.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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.____('____', '____', '____').____(____)