Xây dựng mô hình random forest cho lượt thuê xe đạp
Trong bài tập này, bạn sẽ tiếp tục xây dựng mô hình dự đoán số xe đạp được thuê trong một giờ dựa trên thời tiết, loại ngày (ngày lễ, ngày làm việc, hay cuối tuần) và thời điểm trong ngày. Bạn sẽ huấn luyện mô hình trên dữ liệu của tháng Bảy.
Bạn sẽ dùng gói ranger để fit mô hình random forest. Với bài này, các đối số chính của hàm ranger() (docs) gồm:
formuladatanum.trees: số lượng cây trong rừng.respect.unordered.factors: Quy định cách xử lý các biến factor không có thứ tự. Chúng tôi khuyến nghị đặt là "order" cho bài toán hồi quy.seed: vì đây là thuật toán ngẫu nhiên, bạn sẽ đặt seed để có thể tái lập kết quả
Vì có nhiều biến đầu vào, để tiện lợi chúng ta sẽ chỉ định biến đích và các biến đầu vào trong các biến outcome và vars,
và dùng paste() (docs) để ghép thành một chuỗi biểu diễn công thức mô hình.
Data frame bikesJuly đã được nạp sẵn. Mã mẫu đã chỉ định tên của biến đích và các biến đầu vào.
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
Hướng dẫn bài tập
- Điền vào chỗ trống để tạo công thức
fmlabiểu diễncntnhư một hàm của các biến đầu vào. In ra công thức. - Nạp gói
ranger. - Dùng
rangerđể fit mô hình cho dữ liệubikesJuly:bike_model_rf.- Đối số đầu tiên của
ranger()là công thức,fmla. - Dùng 500 cây và
respect.unordered.factors = "order". - Đặt seed bằng
seedđể có kết quả có thể tái lập. - In mô hình. R-squared là bao nhiêu?
- Đối số đầu tiên của
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.
# bikesJuly is available
str(bikesJuly)
# Random seed to reproduce results
seed
# The outcome column
(outcome <- "cnt")
# The input variables
(vars <- c("hr", "holiday", "workingday", "weathersit", "temp", "atemp", "hum", "windspeed"))
# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))
# Load the package ranger
___
# Fit and print the random forest model
(bike_model_rf <- ranger(___, # formula
___, # data
num.trees = ___,
respect.unordered.factors = ___,
seed = ___))