Bắt đầu ngayBắt đầu miễn phí

Phân nhóm (bucketing) giờ cất cánh

Dữ liệu thời điểm trong ngày là một thách thức với các mô hình hồi quy. Nhưng đây cũng là ứng viên rất phù hợp để phân nhóm (bucketing).

Trong bài này, bạn sẽ chuyển thời gian cất cánh của chuyến bay từ giá trị số trong khoảng 0 (tương ứng 00:00) đến 24 (tương ứng 24:00) sang các giá trị theo nhóm (bins). Sau đó, bạn sẽ one-hot encode các giá trị theo nhóm này.

Bài tập này là một phần của khóa học

Machine Learning với PySpark

Xem khóa học

Hướng dẫn bài tập

  • Tạo một đối tượng bucketizer với ranh giới các nhóm tại 0, 3, 6, …, 24 tương ứng với các mốc thời gian 0:00, 03:00, 06:00, …, 24:00. Chỉ định cột đầu vào là depart và cột đầu ra là depart_bucket.
  • Phân nhóm thời gian cất cánh trong dữ liệu flights. Hiển thị 5 giá trị đầu tiên cho departdepart_bucket.
  • Tạo một đối tượng one-hot encoder, chỉ định depart_bucket làm cột đầu vào và depart_dummy làm cột đầu ra.
  • Fit encoder trên dữ liệu đã phân nhóm, sau đó dùng nó để biến đổi dữ liệu này thành biến giả (dummy). Hiển thị 5 giá trị đầu tiên cho depart, depart_bucketdepart_dummy.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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.____('____', '____', '____').____(____)
Chỉnh sửa và Chạy Mã