1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Gradient Boosting Cực Mạnh với XGBoost

Connected

Bài tập

Tìm kiếm theo lưới với XGBoost

Giờ bạn đã biết cách tinh chỉnh từng tham số riêng lẻ trong XGBoost, hãy nâng cấp việc tinh chỉnh bằng cách dùng GridSearch và RandomizedSearch của scikit-learn với cross-validation nội bộ thông qua các hàm GridSearchCV và RandomizedSearchCV. Bạn sẽ dùng chúng để tìm ra mô hình tốt nhất một cách toàn diện từ tập các giá trị tham số có thể có, đồng thời trên nhiều tham số. Bắt đầu thôi, với GridSearchCV!

Hướng dẫn

100 XP
  • Tạo một lưới tham số tên gbm_param_grid chứa danh sách các giá trị "colsample_bytree" (0.3, 0.7), một danh sách chỉ có một giá trị cho "n_estimators" (50), và danh sách 2 giá trị "max_depth" (2, 5).
  • Khởi tạo một đối tượng XGBRegressor tên gbm.
  • Tạo một đối tượng GridSearchCV tên grid_mse, truyền vào: lưới tham số cho param_grid, XGBRegressor cho estimator, "neg_mean_squared_error" cho scoring, và 4 cho cv. Đồng thời đặt verbose=1 để bạn dễ hiểu đầu ra hơn.
  • Fit đối tượng GridSearchCV vào X và y.
  • In ra các giá trị tham số tốt nhất và RMSE thấp nhất, lần lượt dùng thuộc tính .best_params_ và .best_score_ của grid_mse.