การเข้ารหัสสนามบินต้นทางของเที่ยวบิน
คอลัมน์ org ในข้อมูลเที่ยวบินเป็นตัวแปรเชิงหมวดหมู่ที่ระบุสนามบินต้นทางของแต่ละเที่ยวบิน
- ORD — สนามบิน O'Hare International (ชิคาโก)
- SFO — สนามบิน San Francisco International
- JFK — สนามบิน John F. Kennedy International (นิวยอร์ก)
- LGA — สนามบิน La Guardia (นิวยอร์ก)
- SMF — ซาคราเมนโต
- SJC — ซานโฮเซ
- OGG — คาฮูลูอี (ฮาวาย)
นี่เป็นเพียงส่วนหนึ่งของสนามบินทั้งหมด อย่างไรก็ตาม เนื่องจากเป็นตัวแปรเชิงหมวดหมู่ จึงต้องทำ one-hot encoding ก่อนนำไปใช้กับโมเดล regression
ข้อมูลอยู่ในตัวแปรชื่อ flights และได้ใช้ string indexer สร้างคอลัมน์ค่าดัชนีที่สอดคล้องกับค่าสตริงใน org ไว้แล้ว
หากต้องการทบทวนเนื้อหา สามารถดูสไลด์ประกอบได้ในแผง Slides ที่อยู่ถัดจาก IPython Shell
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning with PySpark
คำแนะนำการฝึกหัด
- นำเข้าคลาส one-hot encoder
- สร้าง instance ของ one-hot encoder โดยกำหนดให้คอลัมน์อินพุตชื่อ
org_idxและคอลัมน์เอาต์พุตชื่อorg_dummy - นำ one-hot encoder ไปใช้กับข้อมูลเที่ยวบิน
- สร้างสรุปการแมปจากค่าเชิงหมวดหมู่ไปยังตัวแปร dummy ที่เข้ารหัสแบบไบนารี โดยแสดงเฉพาะค่าที่ไม่ซ้ำกันและเรียงลำดับตาม
org_idx
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()