Pengelompokan waktu keberangkatan
Data waktu dalam sehari merupakan tantangan bagi model regresi. Data tersebut juga sangat cocok untuk dikelompokkan (bucketing).
Dalam pelajaran ini, Anda akan mengonversi waktu keberangkatan penerbangan dari nilai numerik antara 0 (sesuai dengan 00.00) hingga 24 (sesuai dengan 24.00) menjadi nilai dalam keranjang (binned). Selanjutnya, Anda akan melakukan one-hot encoding pada nilai binned tersebut.
Latihan ini merupakan bagian dari kursus
Machine Learning dengan PySpark
Instruksi latihan
- Buat objek bucketizer dengan batas bin pada 0, 3, 6, …, 24 yang sesuai dengan waktu 00.00, 03.00, 06.00, …, 24.00. Tentukan kolom masukan sebagai
departdan kolom keluaran sebagaidepart_bucket. - Kelompokkan waktu keberangkatan pada data
flights. Tampilkan lima nilai pertama untukdepartdandepart_bucket. - Buat objek one-hot encoder, dengan
depart_bucketsebagai kolom masukan dandepart_dummysebagai kolom keluaran. - Fit encoder pada data yang telah dikelompokkan, lalu gunakan untuk mentransformasikan data ini menjadi variabel dummy. Tampilkan lima nilai pertama untuk
depart,depart_bucket, dandepart_dummy.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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.____('____', '____', '____').____(____)