Gruparea orelor de plecare în intervale
Datele despre ora din zi pot fi o provocare pentru modelele de regresie. Totodată, sunt candidați ideali pentru gruparea în intervale (bucketing).
În acest exercițiu vei converti orele de plecare ale zborurilor din valori numerice între 0 (corespunzând orei 00:00) și 24 (corespunzând orei 24:00) în valori grupate pe intervale. Apoi vei aplica codificarea one-hot pe aceste valori grupate.
Acest exercițiu face parte din cursul
Machine Learning cu PySpark
Instrucțiuni pentru exercițiu
- Creează un obiect
Bucketizercu limitele intervalelor la 0, 3, 6, …, 24, corespunzând orelor 0:00, 03:00, 06:00, …, 24:00. Specifică coloana de intrare cadepartși coloana de ieșire cadepart_bucket. - Grupează orele de plecare din setul de date
flights. Afișează primele cinci valori pentrudepartșidepart_bucket. - Creează un obiect de codificare one-hot, specificând
depart_bucketca și coloană de intrare șidepart_dummyca și coloană de ieșire. - Antrenează encoderul pe datele grupate, apoi folosește-l pentru a transforma aceste date în variabile dummy. Afișează primele cinci valori pentru
depart,depart_bucketșidepart_dummy.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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.____('____', '____', '____').____(____)