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

ฟีเจอร์เชิงลึก

ในแบบฝึกหัดก่อนหน้า เราได้เห็นแล้วว่าการนำฟีเจอร์สองตัวมารวมกันสามารถสร้างฟีเจอร์เพิ่มเติมที่มีประโยชน์ต่อโมเดลพยากรณ์ได้ ในแบบฝึกหัดนี้ จะลองสร้างฟีเจอร์ 'เชิงลึก' โดยรวมผลของตัวแปรสามตัวเข้าด้วยกัน จากนั้นจะตรวจสอบว่าฟีเจอร์ที่ซับซ้อนและลึกขึ้นนั้นให้ผลการพยากรณ์ที่ดีกว่าเสมอไปหรือไม่

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

Feature Engineering with PySpark

ดูคอร์ส

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

  • สร้างฟีเจอร์ใหม่โดยบวก SQFTBELOWGROUND กับ SQFTABOVEGROUND แล้วเก็บผลลัพธ์ไว้ในคอลัมน์ใหม่ชื่อ Total_SQFT
  • ใช้ Total_SQFT สร้างฟีเจอร์อีกตัวหนึ่งชื่อ BATHS_PER_1000SQFT โดยใช้ร่วมกับ BATHSTOTAL และอย่าลืมปรับ Total_SQFT ให้อยู่ในหน่วยพัน
  • ใช้ describe() ตรวจสอบค่า min, max และ mean ของฟีเจอร์ใหม่ล่าสุด BATHS_PER_1000SQFT สังเกตว่ามีอะไรผิดปกติหรือไม่
  • สร้าง jointplots() จำนวน 2 กราฟ โดยใช้ Total_SQFT และ BATHS_PER_1000SQFT เป็นค่า \(x\) และ SALESCLOSEPRICE เป็นค่า \(y\) เพื่อดูว่าตัวไหนให้ค่า R**2 ที่ดีกว่า ฟีเจอร์ที่ซับซ้อนกว่านี้มีความสัมพันธ์กับ SALESCLOSEPRICE มากกว่าหรือไม่

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

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

# Create new feature by adding two features together
df = df.____(____, df[____] + df[____])

# Create additional new feature using previously created feature
df = df.____(____, df[____] / (df[____] / ____))
df[[____]].____().show()

# Sample and create pandas dataframe
pandas_df = df.sample(False, 0.5, 0).toPandas()

# Linear model plots
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()
แก้ไขและรันโค้ด