สร้าง Vector
ขั้นตอนสุดท้ายใน Pipeline คือการรวมคอลัมน์ทั้งหมดที่มี feature ของเราให้เป็นคอลัมน์เดียว ซึ่งต้องทำก่อนเริ่มสร้างโมเดล เนื่องจาก Spark ทุก routine สำหรับการสร้างโมเดลจะคาดหวังให้ข้อมูลอยู่ในรูปแบบนี้ วิธีการคือเก็บค่าแต่ละค่าจากคอลัมน์เป็น entry ใน vector จากมุมมองของโมเดล การสังเกตแต่ละครั้งจะเป็น vector ที่บรรจุข้อมูลทั้งหมดเกี่ยวกับการสังเกตนั้น พร้อมด้วย label ที่บอกว่าการสังเกตนั้นสอดคล้องกับค่าใด
ด้วยเหตุนี้ submodule pyspark.ml.feature จึงมีคลาสชื่อ VectorAssembler โดย Transformer นี้จะนำคอลัมน์ทั้งหมดที่ระบุมารวมกันเป็นคอลัมน์ vector ใหม่
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
พื้นฐาน PySpark
คำแนะนำการฝึกหัด
- สร้าง
VectorAssemblerโดยเรียกใช้VectorAssembler()พร้อมระบุชื่อinputColsเป็น list และชื่อoutputColเป็น"features"- list ของคอลัมน์ควรเป็น
["month", "air_time", "carrier_fact", "dest_fact", "plane_age"]
- list ของคอลัมน์ควรเป็น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Make a VectorAssembler
vec_assembler = VectorAssembler(inputCols=____, outputCol=____)