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

การแปลงฟีเจอร์

คุณกำลังพูดคุยเกี่ยวกับชุดข้อมูลสินเชื่อกับผู้จัดการธนาคาร เธอชี้ให้เห็นว่าใบสมัครสินเชื่อที่มีความเสี่ยงต่ำมักขอวงเงินในระดับกลาง ค่าที่ต่ำหรือสูงเกินไปล้วนบ่งชี้ถึงความเสี่ยงสูง ซึ่งหมายความว่าอาจมีความสัมพันธ์แบบไม่เชิงเส้นระหว่างตัวแปรนี้กับคลาส คุณจึงต้องการทดสอบสมมติฐานนี้โดยสร้างการแปลงแบบไม่เชิงเส้นให้กับฟีเจอร์ จากนั้นประเมินว่าฟีเจอร์ใดในสองฟีเจอร์นี้ทำนายคลาสได้ดีกว่า โดยใช้ SelectKBest() และเมตริก chi2() ซึ่งโหลดไว้ล่วงหน้าแล้ว

ข้อมูลอยู่ในรูปแบบ pandas DataFrame ชื่อ credit โดยมีคลาสอยู่ในคอลัมน์ class และได้โหลด pandas เป็น pd กับ numpy เป็น np ไว้แล้ว

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

การออกแบบ Machine Learning Workflows ด้วย Python

ดูคอร์ส

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

  • กำหนดฟังก์ชันที่แปลงเวกเตอร์ตัวเลขโดยคำนวณค่าผลต่างสัมบูรณ์ระหว่างแต่ละค่ากับค่าเฉลี่ยของเวกเตอร์นั้น
  • นำการแปลงนี้ไปใช้กับคอลัมน์ credit_amount ในชุดข้อมูล และเก็บผลลัพธ์ไว้ในคอลัมน์ใหม่ชื่อ diff
  • สร้าง feature selector ด้วย SelectKBest() เพื่อเลือกหนึ่งคอลัมน์จากสองคอลัมน์ ได้แก่ credit_amount และ diff โดยใช้เมตริก chi2()
  • ตรวจสอบผลลัพธ์ที่ได้

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

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

# Function computing absolute difference from column mean
def abs_diff(x):
    return ____(x-____)

# Apply it to the credit amount and store to new column
credit['diff'] = ____

# Create a feature selector with chi2 that picks one feature
sk = ____(chi2, ____)

# Use the selector to pick between credit_amount and diff
sk.fit(____, credit['class'])

# Inspect the results
sk.____()
แก้ไขและรันโค้ด