Mã hóa sân bay khởi hành
Cột org trong dữ liệu flights là một biến phân loại cho biết sân bay nơi chuyến bay cất cánh.
- ORD — Sân bay quốc tế O'Hare (Chicago)
- SFO — Sân bay quốc tế San Francisco
- JFK — Sân bay quốc tế John F Kennedy (New York)
- LGA — Sân bay La Guardia (New York)
- SMF — Sacramento
- SJC — San Jose
- OGG — Kahului (Hawaii)
Rõ ràng đây chỉ là một tập con nhỏ của các sân bay. Tuy vậy, vì đây là biến phân loại, nên cần được one-hot encode trước khi dùng trong mô hình hồi quy.
Dữ liệu nằm trong biến flights. Bạn đã dùng string indexer để tạo một cột các giá trị đã được đánh chỉ mục tương ứng với các chuỗi trong org.
Bạn có thể xem lại các slide từ bài học trong bảng Slides cạnh IPython Shell nếu thấy hữu ích.
Bài tập này là một phần của khóa học
Machine Learning với PySpark
Hướng dẫn bài tập
- Import lớp one-hot encoder.
- Tạo một instance one-hot encoder, đặt tên cột đầu vào là
org_idxvà cột đầu ra làorg_dummy. - Áp dụng one-hot encoder lên dữ liệu flights.
- Tạo bản tóm tắt ánh xạ từ các giá trị phân loại sang các biến giả mã hóa nhị phân. Chỉ lấy các giá trị duy nhất và sắp xếp theo
org_idx.
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.
# Import the one hot encoder class
from pyspark.ml.____ import ____
# Create an instance of the one hot encoder
onehot = ____(inputCols=[____], outputCols=[____])
# Apply the one hot encoder to the flights data
onehot = onehot.____(____)
flights_onehot = onehot.____(____)
# Check the results
flights_onehot.____('org', 'org_idx', 'org_dummy').____().____('org_idx').show()