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

การเลือกตัวแปรที่ดีที่สุดถัดไป

วิธีการเลือกตัวแปรแบบ forward stepwise จะเริ่มต้นด้วยชุดตัวแปรว่างเปล่า แล้วดำเนินการทีละขั้น โดยในแต่ละขั้นจะเพิ่มตัวแปรที่ดีที่สุดเข้าไป สำหรับแบบฝึกหัดนี้ได้เตรียมฟังก์ชันที่เป็นประโยชน์ไว้ให้ 2 ตัว

ฟังก์ชัน auc จะคำนวณค่า AUC ของโมเดลที่ใช้ชุดตัวแปร variables ที่กำหนดเป็นตัวพยากรณ์ ส่วนฟังก์ชัน next_best จะคำนวณว่าควรเพิ่มตัวแปรใดเข้าไปในรายการตัวแปรในขั้นถัดไป

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

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

การวิเคราะห์เชิงพยากรณ์เบื้องต้นด้วย Python

ดูคอร์ส

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

  • ฟังก์ชัน auc ได้เตรียมไว้ให้แล้ว ให้คำนวณค่า AUC ของโมเดลที่ใช้ "max_gift", "mean_gift" และ "min_gift" เป็นตัวพยากรณ์ โดยส่งตัวแปรเหล่านี้ในรูปแบบลิสต์เป็นอาร์กิวเมนต์แรกของฟังก์ชัน auc
  • ฟังก์ชัน next_best ได้เตรียมไว้ให้แล้ว ให้คำนวณว่าควรเพิ่มตัวแปรใดในขั้นถัดไป โดยกำหนดให้ "max_gift", "mean_gift" และ "min_gift" อยู่ในโมเดลปัจจุบัน และมี "age" กับ "gender_F" เป็นตัวแปรผู้สมัครถัดไป อาร์กิวเมนต์แรกของฟังก์ชัน next_best คือลิสต์ของตัวแปรปัจจุบัน ส่วนอาร์กิวเมนต์ที่สองคือลิสต์ของตัวพยากรณ์ที่เป็นผู้สมัคร
  • คำนวณค่า AUC ของโมเดลที่ใช้ "max_gift", "mean_gift", "min_gift" และ "age" เป็นตัวพยากรณ์
  • คำนวณค่า AUC ของโมเดลที่ใช้ "max_gift", "mean_gift", "min_gift" และ "gender_F" เป็นตัวพยากรณ์

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

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

# Calculate the AUC of a model that uses "max_gift", "mean_gift" and "min_gift" as predictors
auc_current = ____([____, ____, ____], ["target"], basetable)
print(round(auc_current,4))

# Calculate which variable among "age" and "gender_F" should be added to the variables "max_gift", "mean_gift" and "min_gift"
next_variable = ____([____, ____, ____], [____, ____], ["target"], basetable)
print(next_variable)

# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "age" as predictors
auc_current_age = ____([____, ____, ____, ____], ["target"], basetable)
print(round(auc_current_age,4))

# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "gender_F" as predictors
auc_current_gender_F = ____([____], ["target"], basetable)
print(round(auc_current_gender_F,4))
แก้ไขและรันโค้ด