รวมทุกอย่างเข้าด้วยกัน
ถึงเวลาแล้วที่จะนำทุกสิ่งที่เรียนมารวมเข้าด้วยกัน! ในแบบฝึกหัดสุดท้ายของคอร์สนี้ คุณจะนำผลงานจากแบบฝึกหัดก่อนหน้ามาประกอบเป็น XGBoost pipeline แบบครบวงจร เพื่อเสริมความเข้าใจเรื่องการ preprocessing และ pipeline ใน XGBoost ให้แน่นยิ่งขึ้น
โค้ดจากแบบฝึกหัด 3 ข้อก่อนหน้า ซึ่งครอบคลุมการ preprocess ข้อมูลและการตั้งค่า pipeline ได้ถูกโหลดไว้ให้แล้ว งานของคุณคือทำ randomized search เพื่อหา hyperparameter ที่ดีที่สุด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Extreme Gradient Boosting with XGBoost
คำแนะนำการฝึกหัด
- ตั้งค่า parameter grid สำหรับปรับจูน
'clf__learning_rate'(ตั้งแต่0.05ถึง1โดยเพิ่มทีละ0.05),'clf__max_depth'(ตั้งแต่3ถึง10โดยเพิ่มทีละ1) และ'clf__n_estimators'(ตั้งแต่50ถึง200โดยเพิ่มทีละ50) - โดยใช้
pipelineเป็น estimator ให้ทำRandomizedSearchCVแบบ 2-fold โดยกำหนดn_iterเป็น2ใช้"roc_auc"เป็น metric และตั้งค่าverboseเป็น1เพื่อให้แสดงผลลัพธ์แบบละเอียด จากนั้นเก็บผลลัพธ์ไว้ในตัวแปรrandomized_roc_auc - ฟิต
randomized_roc_aucกับXและy - คำนวณค่าคะแนนที่ดีที่สุดและ estimator ที่ดีที่สุดของ
randomized_roc_auc
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create the parameter grid
gbm_param_grid = {
'____': ____(____, ____, ____),
'____': ____(____, ____, ____),
'____': ____(____, ____, ____)
}
# Perform RandomizedSearchCV
randomized_roc_auc = ____
# Fit the estimator
____
# Compute metrics
print(____)
print(____)