Cross Validation สำหรับโมเดลสินเชื่อ
ข้อมูลสินเชื่อมีการเปลี่ยนแปลงอยู่ตลอดเวลา และอาจไม่ตรงกับข้อมูลที่โหลดอยู่ในชุดทดสอบปัจจุบันเสมอไป ดังนั้น จึงสามารถใช้ cross-validation เพื่อทดลองกับชุดเทรนและชุดทดสอบย่อยหลายชุด ซึ่งได้มาจาก X_train และ y_train ต้นฉบับ
ใช้ฟังก์ชัน cv() ของ XGBoost เพื่อทำ cross-validation โดยจำเป็นต้องกำหนดพารามิเตอร์ทั้งหมดที่ cv() จะใช้กับข้อมูลทดสอบ
ชุดข้อมูล X_train และ y_train ถูกโหลดไว้ใน workspace พร้อมกับโมเดลที่เทรนแล้ว gbt และพจนานุกรมพารามิเตอร์ params ซึ่งจะแสดงผลเมื่อแบบฝึกหัดโหลดเสร็จ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างโมเดลความเสี่ยงด้านเครดิตด้วย Python
คำแนะนำการฝึกหัด
- กำหนดจำนวน fold เป็น
5และค่า stopping เป็น10แล้วเก็บไว้เป็นn_foldsและearly_stopping - สร้าง matrix object
DTrainโดยใช้ข้อมูลเทรน - ใช้
cv()กับพารามิเตอร์, folds, และ early stopping object แล้วเก็บผลลัพธ์ไว้เป็นcv_df - แสดงผลเนื้อหาของ
cv_df
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Set the values for number of folds and stopping iterations
____ = ____
____ = ____
# Create the DTrain matrix for XGBoost
____ = xgb.____(____, label = ____)
# Create the data frame of cross validations
____ = xgb.cv(____, ____, num_boost_round = 5, nfold=____,
early_stopping_rounds=____)
# Print the cross validations data frame
____(____)