ComeçarComece de graça

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 exercício faz parte do curso

Machine learning com PySpark

Ver curso

Instruções do exercício

  • 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.

Exercício interativo prático

Experimente este exercício 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 o código