การแปลงวันในสัปดาห์เป็น Binary
จากวิดีโอก่อนหน้า เราพบว่าบ้านมีโอกาสน้อยมากที่จะถูกลงประกาศขายในช่วงวันหยุดสุดสัปดาห์ มาสร้างฟีเจอร์ใหม่ที่บอกว่าบ้านถูกลงประกาศในวันทำการหรือไม่ ในตัวอย่างนี้มีคอลัมน์ชื่อ List_Day_of_Week โดยวันจันทร์มีค่าเป็น 1.0 และวันอาทิตย์มีค่าเป็น 7.0 จากนั้นแปลงคอลัมน์นี้ให้เป็นฟีเจอร์แบบ binary โดยวันทำการ = 0 และวันหยุดสุดสัปดาห์ = 1 ซึ่งทำได้โดยใช้ Binarizer จาก PySpark
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering with PySpark
คำแนะนำการฝึกหัด
- นำเข้า feature transformer ชื่อ
Binarizerจากโมดูลml.featureของpyspark - สร้าง transformer โดยใช้
Binarizer()โดยกำหนด threshold สำหรับการตั้งค่าเป็น 1 ให้กับวันหลังจากวันศุกร์ คือ 5.0 จากนั้นกำหนด input column เป็นList_Day_of_Weekและ output column เป็นListed_On_Weekend - นำ binarizer ไปแปลงข้อมูลใน
dfโดยใช้transform() - ตรวจสอบว่าการแปลงได้ผลถูกต้องโดยเลือกคอลัมน์
List_Day_of_WeekและListed_On_Weekendแล้วแสดงผลด้วยshow()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import transformer
from pyspark.____.____ import ____
# Create the transformer
binarizer = ____(threshold=____ inputCol=____, outputCol=____)
# Apply the transformation to df
df = binarizer.____(____)
# Verify transformation
df[[____, ____]].____()