1. Learn
  2. /
  3. Courses
  4. /
  5. Gradient Boosting Cực Mạnh với XGBoost

Connected

Exercise

Bộ học cơ sở tuyến tính

Sau khi đã dùng cây quyết định làm mô hình cơ sở trong XGBoost, giờ hãy thử loại mô hình cơ sở còn lại mà XGBoost hỗ trợ – bộ học tuyến tính. Mô hình này, dù không phổ biến bằng trong XGBoost, cho phép bạn xây dựng hồi quy tuyến tính có regularization thông qua API học mạnh mẽ của XGBoost. Tuy nhiên, vì ít được dùng, bạn cần sử dụng các hàm riêng của XGBoost không tương thích scikit-learn để xây dựng mô hình, như xgb.train().

Để làm được điều này, bạn phải tạo từ điển tham số mô tả loại booster (mô hình cơ sở) bạn muốn dùng (tương tự như bạn đã tạo từ điển ở Chương 1 khi dùng xgb.cv()). Cặp khóa-giá trị xác định kiểu booster (mô hình cơ sở) bạn cần là "booster":"gblinear".

Sau khi tạo mô hình, bạn có thể dùng các phương thức .train() và .predict() của mô hình giống như trước đây.

Ở đây, dữ liệu đã được chia sẵn thành tập huấn luyện và tập kiểm tra, vì vậy bạn có thể bắt tay ngay vào tạo các đối tượng DMatrix theo yêu cầu của API học XGBoost.

Instructions

100 XP
  • Tạo hai đối tượng DMatrix – DM_train cho tập huấn luyện (X_train và y_train), và DM_test (X_test và y_test) cho tập kiểm tra.
  • Tạo một từ điển tham số xác định loại "booster" bạn sẽ dùng ("gblinear") cũng như "objective" bạn sẽ tối ưu hóa ("reg:squarederror").
  • Huấn luyện mô hình bằng xgb.train(). Bạn cần chỉ định các đối số cho các tham số: params, dtrain, và num_boost_round. Dùng 5 vòng boosting.
  • Dự đoán nhãn trên tập kiểm tra bằng xg_reg.predict(), truyền vào DM_test. Gán kết quả cho preds.
  • Nhấn "Submit Answer" để xem RMSE!