Hora de salida por grupos
Los datos sobre la hora del día suponen un reto para los modelos de regresión. También son un buen candidato para el bucketing.
En esta lección convertirás las horas de salida de los vuelos de valores numéricos entre 0 (correspondiente a las 00:00) y 24 (correspondiente a las 24:00) a valores agrupados. A continuación, tomarás esos valores agrupados y los codificarás con codificación one-hot.
Este ejercicio forma parte del curso
Machine learning con PySpark
Instrucciones del ejercicio
- Crea un objeto bucketizer con límites de contenedor en 0, 3, 6, …, 24, que corresponden a las horas 0:00, 03:00, 06:00, …, 24:00. Especifica la columna de entrada como
depart
y la columna de salida comodepart_bucket
. - Agrupa las horas de salida en los datos «
flights
». Muestra los cinco primeros valores dedepart
ydepart_bucket
. - Crea un objeto codificador one-hot, especificando
depart_bucket
como columna de entrada ydepart_dummy
como columna de salida. - Ajusta el codificador a los datos agrupados y, a continuación, utilízalo para transformar estos datos en variables ficticias. Muestra los cinco primeros valores de
depart
,depart_bucket
ydepart_dummy
.
Ejercicio interactivo práctico
Prueba este ejercicio completando 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.____('____', '____', '____').____(____)