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

Huấn luyện mô hình xgboost cho thuê xe đạp và dự đoán

Trong bài tập này, bạn sẽ huấn luyện một mô hình gradient boosting dùng xgboost() để dự đoán số lượng xe đạp được thuê theo giờ dựa trên thời tiết, loại hình và thời điểm trong ngày. Bạn sẽ huấn luyện mô hình trên dữ liệu tháng 7 và dự đoán trên dữ liệu tháng 8.

Các data frame bikesJuly, bikesJuly.treat, bikesAugustbikesAugust.treat đã được nạp sẵn. Hãy nhớ rằng dữ liệu đã qua vtreat không còn cột biến mục tiêu, nên bạn cần lấy biến mục tiêu từ dữ liệu gốc (cột cnt).

Để thuận tiện, số lượng cây cần dùng, ntrees từ bài trước đã sẵn sàng để dùng.

Các đối số của xgboost() (docs) tương tự như xgb.cv().

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

Học có giám sát với R: Hồi quy

Xem khóa học

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

  • Điền vào chỗ trống để chạy xgboost() trên dữ liệu tháng 7.
    • Dùng as.matrix() để chuyển data frame đã vtreated thành ma trận.
    • Objective nên là "reg:squarederror".
    • Dùng ntrees vòng lặp.
    • Đặt eta0.75, max_depth5, và verboseFALSE (im lặng).
  • Gọi predict() trên bikesAugust.treat để dự đoán số xe đạp thuê trong tháng 8.
    • Dùng as.matrix() để chuyển dữ liệu kiểm thử đã qua vtreat thành ma trận.
    • Thêm dự đoán vào bikesAugust dưới dạng cột pred.
  • Điền vào chỗ trống để vẽ biểu đồ số lượt thuê thực tế so với dự đoán (đưa dự đoán lên trục x).
    • Bạn có thấy vấn đề tiềm ẩn nào với các dự đoán không?

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.

# Run xgboost
bike_model_xgb <- xgboost(data = ___, # training data as matrix
                   label = ___,  # column of outcomes
                   nrounds = ___,       # number of trees to build
                   objective = ___, # objective
                   eta = ___,
                   max_depth = ___,
                   verbose = FALSE  # silent
)

# Make predictions
bikesAugust$pred <- ___(___, ___(___))

# Plot predictions (on x axis) vs actual bike rental count
ggplot(bikesAugust, aes(x = ___, y = ___)) + 
  geom_point() + 
  geom_abline()
Chỉnh sửa và Chạy Mã