Agrupación por intervalos de la hora de salida
Los datos de hora del día suponen un reto para los modelos de regresión. También son un gran candidato para agrupar por intervalos.
En esta lección convertirás las horas de salida de los vuelos de valores numéricos entre 0 (correspondiente a 00:00) y 24 (correspondiente a 24:00) a valores en intervalos. Después tomarás esos valores por intervalos y los codificarás con one-hot.
Este ejercicio forma parte del curso
Machine learning con PySpark
Instrucciones del ejercicio
- Crea un objeto bucketizer con límites de los intervalos en 0, 3, 6, …, 24, que corresponden a las horas 0:00, 03:00, 06:00, …, 24:00. Especifica la columna de entrada como
departy la columna de salida comodepart_bucket. - Agrupa por intervalos las horas de salida en los datos de
flights. Muestra los cinco primeros valores dedepartydepart_bucket. - Crea un objeto de codificación one-hot, especificando
depart_bucketcomo columna de entrada ydepart_dummycomo columna de salida. - Ajusta el codificador a los datos agrupados y luego úsalo para transformar estos datos a variables dummy. Muestra los cinco primeros valores de
depart,depart_bucketydepart_dummy.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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.____('____', '____', '____').____(____)