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 adalah bagian dari kursus
Machine Learning dengan PySpark
Petunjuk 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 praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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.____('____', '____', '____').____(____)