Grid search
Hãy nhớ rằng bạn đã tạo một mô hình Gradient Boosting nền tảng ở bài trước. Mục tiêu của bạn bây giờ là tìm giá trị siêu tham số max_depth tốt nhất cho mô hình Gradient Boosting này. Siêu tham số này giới hạn số lượng nút trong mỗi cây riêng lẻ. Bạn sẽ dùng K-fold cross-validation để đo lường hiệu năng nội bộ của mô hình với từng giá trị siêu tham số.
Bạn được cung cấp hàm get_cv_score(), hàm này nhận tập dữ liệu huấn luyện và một từ điển các tham số mô hình làm đối số và trả về điểm RMSE xác thực tổng thể qua cross-validation 3-fold.
Bài tập này là một phần của khóa học
Chinh phục cuộc thi Kaggle bằng Python
Hướng dẫn bài tập
- Xác định lưới các giá trị khả dĩ cho
max_depthgồm 3, 6, 9, 12 và 15. - Truyền từng ứng viên siêu tham số trong lưới vào từ điển
paramscủa mô hình.
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.
# Possible max depth values
max_depth_grid = [____]
results = {}
# For each value in the grid
for max_depth_candidate in max_depth_grid:
# Specify parameters for the model
params = {'max_depth': ____}
# Calculate validation score for a particular hyperparameter
validation_score = get_cv_score(train, params)
# Save the results for each max depth value
results[max_depth_candidate] = validation_score
print(results)