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

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:

  • formula
  • data
  • num.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 outcomevars, 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

Xem khóa học

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

  • Điền vào chỗ trống để tạo công thức fmla biểu diễn cnt như 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ệu bikesJuly: 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?

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 = ___))
Chỉnh sửa và Chạy Mã