1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Chinh phục cuộc thi Kaggle bằng Python

Connected

Bài tập

Tìm kiếm lưới 2D

Hạn chế của việc tinh chỉnh từng siêu tham số độc lập là có thể tồn tại sự phụ thuộc giữa các siêu tham số. Cách tốt hơn là thử tất cả các tổ hợp siêu tham số có thể. Tuy nhiên, trong các trường hợp như vậy, không gian tìm kiếm lưới sẽ tăng rất nhanh. Ví dụ, nếu có 2 tham số với 10 giá trị khả dĩ, bạn sẽ phải chạy 100 thí nghiệm.

Mục tiêu của bạn là tìm cặp siêu tham số tốt nhất max_depth và subsample cho mô hình Gradient Boosting. subsample là tỷ lệ quan sát được dùng để huấn luyện từng cây riêng lẻ.

Bạn được cung cấp hàm get_cv_score(), hàm này nhận tập huấn luyện và một từ điển 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.

Hướng dẫn

100 XP
  • Xác định các lưới cho các giá trị khả dĩ của max_depth và subsample. Với max_depth: 3, 5 và 7. Với subsample: 0.8, 0.9 và 1.0.
  • Áp dụng hàm product() từ gói itertools lên các lưới siêu tham số. Hàm này trả về mọi tổ hợp có thể của hai lưới này.
  • Truyền từng cặp ứng viên siêu tham số vào từ điển params của mô hình.