IniziaInizia gratis

Raggruppare l'orario di partenza in bucket

I dati sull’ora del giorno sono una sfida per i modelli di regressione. Allo stesso tempo sono ottimi candidati per il bucketing.

In questa lezione convertirai gli orari di partenza dei voli da valori numerici tra 0 (corrispondente a 00:00) e 24 (corrispondente a 24:00) in valori raggruppati in bucket. Poi trasformerai questi bucket in variabili one-hot.

Questo esercizio fa parte del corso

Machine Learning con PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un oggetto bucketizer con confini dei bucket a 0, 3, 6, …, 24 che corrispondono agli orari 0:00, 03:00, 06:00, …, 24:00. Specifica la colonna di input come depart e la colonna di output come depart_bucket.
  • Suddividi in bucket gli orari di partenza nei dati flights. Mostra i primi cinque valori per depart e depart_bucket.
  • Crea un oggetto one-hot encoder, specificando depart_bucket come colonna di input e depart_dummy come colonna di output.
  • Adatta (fit) l'encoder ai dati suddivisi in bucket e poi usalo per trasformare questi dati in variabili dummy. Mostra i primi cinque valori per depart, depart_bucket e depart_dummy.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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.____('____', '____', '____').____(____)
Modifica ed esegui il codice