การ Scaling แบบเปอร์เซ็นต์กำหนดเอง
ในสไลด์เราได้แสดงวิธี scale ข้อมูลให้อยู่ในช่วง 0 ถึง 1 แต่บางครั้งอาจต้องการ scale ในรูปแบบอื่นเพื่อประโยชน์ในการสร้างโมเดลหรือการแสดงผล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering with PySpark
คำแนะนำการฝึกหัด
- คำนวณค่า max และ min ของ
DAYSONMARKETแล้วเก็บไว้ในตัวแปรmax_daysและmin_daysอย่าลืมใช้collect()ต่อท้ายagg() - ใช้
withColumn()สร้างคอลัมน์ใหม่ชื่อ 'percentagescaleddays' โดยอ้างอิงจากDAYSONMARKET percentage_scaled_daysควรเป็นคอลัมน์ของจำนวนเต็มที่มีค่าตั้งแต่ 0 ถึง 100 ใช้round()เพื่อให้ได้ค่าเป็นจำนวนเต็ม- แสดงค่า
max()และmin()ของคอลัมน์percentage_scaled_daysที่สร้างขึ้นใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define max and min values and collect them
max_days = df.____({____: ____}).____()[0][0]
min_days = df.____({____: ____}).____()[0][0]
# Create a new column based off the scaled data
df = df.____(____,
____((df[____] - min_days) / (max_days - min_days)) * ____)
# Calc max and min for new column
print(df.____({____: ____}).____())
print(df.____({____: ____}).____())