Bắt đầu ngayBắt đầu miễn phí

Giới hạn của kiểm định cross-validation

Bạn có thể đặt các giá trị rất lớn cho cả nfoldnum_boost_round nếu muốn thực hiện cross-validation ở mức cực cao. Data frame cv_results_big đã được nạp sẵn trong không gian làm việc và được tạo bằng đoạn mã sau:

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

Ở đây, cv() đã thực hiện 600 vòng lặp cross-validation! Tham số shuffle yêu cầu hàm xáo trộn các bản ghi mỗi lần.

Hãy xem dữ liệu này để biết các giá trị AUC và kiểm tra xem chúng có đạt tới 1.0 khi dùng cross-validation hay không. Bạn cũng nên vẽ biểu đồ điểm AUC của tập kiểm tra để quan sát diễn tiến.

Data frame cv_results_big đã được nạp vào không gian làm việc.

Bài tập này là một phần của khóa học

Mô hình hóa Rủi ro Tín dụng bằng Python

Xem khóa học

Hướng dẫn bài tập

  • In 5 hàng đầu tiên của data frame kết quả CV.
  • In giá trị trung bình của AUC tập kiểm tra từ data frame kết quả CV, làm tròn đến hai chữ số thập phân.
  • Vẽ biểu đồ đường của AUC tập kiểm tra theo từng vòng lặp.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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.____()
Chỉnh sửa và Chạy Mã