Comece agoraComece grátis

Agrupando horário de partida em faixas (Bucketing)

Dados de hora do dia são um desafio para modelos de regressão. Eles também são ótimos candidatos para bucketing.

Nesta lição, você vai 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 em faixas. Em seguida, vai pegar essas faixas e aplicar one-hot encoding.

Este exercicio faz parte do curso

Machine learning com PySpark

Ver curso

Instruções do exercicio

  • Crie um objeto bucketizer com limites de faixa 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 como depart_bucket.
  • Agrupe em faixas os horários de partida nos dados flights. Mostre os cinco primeiros valores de depart e depart_bucket.
  • Crie um objeto one-hot encoder, especificando depart_bucket como a coluna de entrada e depart_dummy como a coluna de saída.
  • Faça o fit do codificador aos dados agrupados e depois use-o para transformar esses dados em variáveis dummy. Mostre os cinco primeiros valores de depart, depart_bucket e depart_dummy.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

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.____('____', '____', '____').____(____)
Editar e Executar Código