Random Forest Là Gì

     

Trong bài viết trước mình đã chia sẻ về Decision Tree — một cây quyết định. Sự xuất hiện của thuật toán này là nền móng rất đặc biệt quan trọng cho câu hỏi ra đời của không ít thuật toán Machine Learning đang rất được sử dụng bây giờ được đặt tên là Tree-based method như: Random Forest, Gradient Boosting, XGBoost (một thuật toán new được ra đời và được cho là một trong những công thức nhằm dành thắng lợi trong những cuộc thi dự đoán hiện nay).

Bạn đang xem: Random forest là gì

Như tên gọi của nó Random Forest — rừng ngẫu nhiên: đây là cách thức xây dựng một tập hợp không ít cây đưa ra quyết định và sử dụng cách thức voting để lấy ra ra quyết định về biến hóa target cần được dự báo. Một lấy ví dụ về Random Forest như sau: giả sử bạn muốn đi tham quan du ngoạn Anh và gồm sự xem xét cho vấn đề tham quan thành phố nào như: Manchester, Liverpool xuất xắc Birmingham. Để trả lời thắc mắc này bạn sẽ cần tham khảo rất nhiều ý loài kiến từ chúng ta bè, blog du lịch, tour lữ khách … mỗi một chủ ý tương ứng với cùng 1 Decision Tree trả lời các thắc mắc như: tp này đẹp mắt không, dành được tham quan những sân vận động lúc tới thăm không, số tiền chi ra là bao nhiêu, thời gian để tham quan tp là bao lâu… Sau đó bạn sẽ có một rừng những câu vấn đáp để đưa ra quyết định xem mình đã đi tham quan thành phố nào. Random Forest hoạt động bằng cách đánh giá những Decision Tree sử dụng phương thức voting để đưa ra tác dụng cuối cùng.

Về phương diện toán học thuật toán có thể được lý giải như sau: Random Forest là một tập vừa lòng của hàng trăm Decision Tree, trong các số ấy mỗi Decision Tree được tạo cho ngẫu nhiên từ những việc tái chọn mẫu (chọn random một trong những phần của data nhằm xây dựng) và random những biến từ toàn thể các vươn lên là trong vào data. Với một hiệ tượng như vậy, Random Forest đến ta một kết quả đúng chuẩn rất cao cơ mà đánh thay đổi bằng câu hỏi ta quan trọng hiểu cơ chế hoạt động của thuật toán này do cấu tạo quá phức hợp của mô hình này — vì thế thuật toán này là trong những phương thức black Box — tức ta sẽ bỏ tay vào phía bên trong và đúc kết được công dụng chứ ko thể giải thích được cơ chế buổi giao lưu của mô hình. Đó là sự việc đánh thay đổi giữa khả năng phân tích và lý giải và tài năng dự báo như tôi đã nêu ở bài đầu tiên.

Xem thêm: Múi Giờ Ấn Độ So Với Việt Nam Mấy Tiếng? Ấn Độ Có Mấy Múi Giờ

Random Forest là một phương pháp Supervised Learning bởi vì vậy hoàn toàn có thể xử lý được những bài toán về Classification (phân loại) cùng Regression (dự báo về các giá trị)

II. Ứng dụng thực tế

Bài toán cơ mà mình sẽ dùng để làm thực hành áp dụng của thuật toán sẽ là Kaggle bike sharing demand — là giữa những cuộc thi của Kaggle mang đến giới Data Scientist được ra mắt vào năm 2015 với câu hỏi được đặt ra là: phụ thuộc vào data của một hãng cung cấp cho thuê xe đạp điện ở Washington D.C, bạn tham gia cần được dự báo được con số xe đạp sẽ được thuê. Dataset hoàn toàn có thể download theo đường truyền sau: https://www.kaggle.com/marklvl/bike-sharing-dataset

Phân tích khám phá dữ liệu:

Trước khi đi vào các cách thức predictive modeling, bọn họ cần phải mày mò những đặc tính bằng cách phân tích tìm hiểu dữ liệu và chuyển ra các câu hỏi, trả thuyết kết hợp giữa vấn đề kinh doanh và so với thống kê.

1. Kết cấu của các biến:

library(dplyr)library(ggplot2)library(ggthemes)library(rpart)library(rattle) library(rpart.plot)library(RColorBrewer)library(lubridate)library(randomForest)load(file = "./data.Rda")test train data %>% str

*

Data sẽ bao hàm 12 biến chuyển như: mùa vào năm, gồm phải ngày nghỉ lễ không, thời tiết, nhiệt độ, độ ẩm, sức gió …

1.2. Phân phối của các biến

par(mfrow=c(4,2))par(mar = rep(2, 4))hist(data$season)hist(data$weather)hist(data$humidity)hist(data$holiday)hist(data$workingday)hist(data$temp)hist(data$atemp)hist(data$windspeed)Một vài dấn xét được đúc kết như sau

Biến Season sẽ bao gồm 4 giá bán trị khớp ứng với 4 mùaBiến weather gồm phân phối đa số ở cực hiếm 12 đổi mới workingday với holiday không tồn tại thông tin gì để rút raCác thay đổi humidity, atemp với windspeed gồm phân phối khá tự nhiên
*

2.3. đưa thuyết được đặt ra:

1.3.1. Hourly trend:

data$hour data$hour train thử nghiệm 19,>train %>% ggplot(aes(x = hour, y = count)) + geom_boxplot(fill = "darkgreen") + labs(x = "Hour", y = "Count of Users") + theme_minimal()

*

*

Tương tự chính là Daily Trend ta hoàn toàn có thể thấy là nhu yếu của việc sử dụng xe đạp tăng nhiều hơn so với khách hàng vãng lai vào lúc cuối tuần.

Xem thêm: ThẩM địNh BảO HiểM ( Underwriting Là Gì

Từ rất nhiều trend bởi vậy ta yêu cầu phải đổi khác dữ liệu khiến cho mô hình rất có thể hiểu được sự khác hoàn toàn giữa những yếu tố đầu vào — đây chính là Feature Engineering (tạo các biến đầu vào để giúp đỡ cho quy mô hoạt động đúng chuẩn hơn).

2. Feature Engineering:

Dựa trên phần nhiều gì ta đang tìm ra tại phần trên ta rất cần được xây dựng thêm các biến mới để cải thiện khả năng dự báo của mô hình như sau:

data data % mutate(dp_reg = case_when( hour hour >= 22 ~ 2, hour > 9 và hour hour == 8 ~ 4, hour == 9 ~ 5, hour %in% c(20,21) ~ 6, hour %in% c(18,19) ~ 7))data$year data$year % as.factordata$month data$year_part data$year_part 3> data$year_part 6> data$year_part 9> data$year_part data$year_part 3> data$year_part 6> data$year_part 9> data$day_type data$day_type data$day_type data$day_type % as.factor()data$weekend data$weekend 3. Quy mô Random Forest:

Tiếp theo ta sử dụng mô hình Random Forest để mang ra tác dụng dự báo của xe đạp sẽ tiến hành sử dụng trong thời hạn tới như sau:

train$hour % as.factor()test$hour % as.factor()set.seed(999)fit1 pred1 test$logreg bởi vậy ta đã có một quy mô Machine Learning để giải quyết bài toán dự báo con số xe đạp sẽ tiến hành sử dụng với các điều kiện về thời tiết cùng thời gian. Và từ hiệu quả này ta hoàn toàn có thể sử dụng nó để điều tiết những xe đạp theo theo nhu cầu của khách hàng phục vụ mang đến vấn đề marketing của doanh nghiệp