Horário de partida da baldeação
Os dados de hora do dia são um desafio para os modelos de regressão. Eles também são ótimos candidatos para o bucketing.
Nesta lição, você converterá os horários de partida dos voos de valores numéricos entre 0 (correspondente a 00:00) e 24 (correspondente a 24:00) para valores binned. Em seguida, você pegará esses valores em compartimentos e os codificará em um único ponto.
Este exercício faz parte do curso
Aprendizado de máquina com PySpark
Instruções de exercício
- Crie um objeto bucketizer com limites de compartimento em 0, 3, 6, …, 24, que correspondem aos horários 0:00, 03:00, 06:00, …, 24:00. Especifique a coluna de entrada como
depart
e a coluna de saída comodepart_bucket
. - Agrupe os horários de partida nos dados do site
flights
. Mostre os cinco primeiros valores paradepart
edepart_bucket
. - Crie um objeto codificador de um único disparo. Especifique a coluna de saída como
depart_dummy
. - Treine o codificador nos dados e, em seguida, use-o para converter os horários de partida agrupados em variáveis fictícias. Mostre os cinco primeiros valores para
depart
,depart_bucket
edepart_dummy
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
from pyspark.ml.feature import Bucketizer, OneHotEncoder
# Create buckets at 3 hour intervals through the day
buckets = ____(splits=____, ____, ____)
# Bucket the departure times
bucketed = buckets.____(____)
bucketed.____(____).____(____)
# Create a one-hot encoder
onehot = ____(inputCols=[____], ____)
# One-hot encode the bucketed departure times
flights_onehot = ____.____(____).____(____)
flights_onehot.____(____).____(____)