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

ข้อจำกัดของการทดสอบด้วย Cross-Validation

สามารถกำหนดค่าขนาดใหญ่มากให้ทั้ง nfold และ num_boost_round ได้หากต้องการทำ cross-validation จำนวนมาก DataFrame cv_results_big ถูกโหลดไว้ในเวิร์กสเปซแล้ว และถูกสร้างขึ้นด้วยโค้ดต่อไปนี้:

cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
            shuffle = True)

ในที่นี้ cv() ทำการ cross-validation ถึง 600 รอบ! พารามิเตอร์ shuffle บอกให้ฟังก์ชันสลับลำดับข้อมูลในแต่ละรอบ

ลองดูข้อมูลนี้เพื่อตรวจสอบค่า AUC ที่ได้ และดูว่าค่าเหล่านั้นถึง 1.0 ด้วย cross-validation หรือไม่ รวมถึงพล็อตกราฟคะแนน AUC ของชุดทดสอบเพื่อดูการเปลี่ยนแปลงในแต่ละรอบ

DataFrame cv_results_big ถูกโหลดไว้ในเวิร์กสเปซแล้ว

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

การสร้างโมเดลความเสี่ยงด้านเครดิตด้วย Python

ดูคอร์ส

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

  • พิมพ์ห้าแถวแรกของ DataFrame ผลลัพธ์ CV
  • พิมพ์ค่าเฉลี่ยของ AUC ชุดทดสอบจาก DataFrame ผลลัพธ์ CV โดยปัดเศษเป็นทศนิยม 2 ตำแหน่ง
  • พล็อตกราฟเส้นของคะแนน AUC ชุดทดสอบตลอดแต่ละรอบการทำซ้ำ

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

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

# Print the first five rows of the CV results data frame
print(____.____())

# Calculate the mean of the test AUC scores
print(np.____(____[____]).round(2))

# Plot the test AUC scores for each iteration
plt.____(____[____])
plt.title('Test AUC Score Over 600 Iterations')
plt.xlabel('Iteration Number')
plt.ylabel('Test AUC Score')
plt.____()
แก้ไขและรันโค้ด