เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแก้ไขข้อมูลที่เบ้ขวา

ในสไลด์ได้แสดงตัวอย่างการใช้การแปลง log เพื่อแก้ไขข้อมูลที่เบ้บวก (ข้อมูลที่กระจุกตัวอยู่ทางซ้าย) สำหรับการแก้ไขข้อมูลที่เบ้ลบ (ข้อมูลที่กระจุกตัวอยู่ทางขวา) จำเป็นต้องมีขั้นตอนเพิ่มเติมที่เรียกว่า "การสะท้อนค่า" (reflecting) ก่อน จึงจะสามารถใช้ค่าผกผันของ \(\log\) ซึ่งเขียนเป็น (1/\(\log\)) เพื่อปรับให้ข้อมูลมีการกระจายใกล้เคียงการแจกแจงปกติได้ การสะท้อนค่าข้อมูลใช้สูตร \((x_{\text{max}} +1) – x\) เพื่อแปลงแต่ละค่า

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Feature Engineering with PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ฟังก์ชัน aggregate skewness() เพื่อตรวจสอบว่าคอลัมน์ 'YEARBUILT' มีค่าเบ้ลบหรือไม่
  • ใช้ withColumn() เพื่อสร้างคอลัมน์ใหม่ชื่อ 'Reflect_YearBuilt' และสะท้อนค่าของ 'YEARBUILT'
  • นำคอลัมน์ 'Reflect_YearBuilt' มาสร้างคอลัมน์ 'adj_yearbuilt' โดยหาค่า 1/log() ของข้อมูลในคอลัมน์นั้น

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

from pyspark.sql.functions import log

# Compute the skewness
print(df.____({____: ____}).____())

# Calculate the max year
max_year = df.____({____: ____}).____()[0][0]

# Create a new column of reflected data
df = df.____(____, (max_year + 1) - df[____])

# Create a new column based reflected data
df = df.____(____, 1 / ____(df[____]))
แก้ไขและรันโค้ด