R - Rừng Ngẫu Nhiên
Trong phương pháp rừng ngẫu nhiên, một số lượng lớn các cây quyết định được tạo ra. Mọi quan sát được đưa vào mọi cây quyết định. Kết quả chung nhất cho mỗi lần quan sát được sử dụng làm đầu ra cuối cùng. Một quan sát mới được đưa vào tất cả các cây và lấy đa số phiếu cho mỗi mô hình phân loại.
Một ước tính sai số được thực hiện cho các trường hợp không được sử dụng trong khi xây dựng cây. Đó được gọi làOOB (Out-of-bag) ước tính sai số được đề cập dưới dạng phần trăm.
Gói R "randomForest" được sử dụng để tạo rừng ngẫu nhiên.
Cài đặt gói R
Sử dụng lệnh dưới đây trong bảng điều khiển R để cài đặt gói. Bạn cũng phải cài đặt các gói phụ thuộc nếu có.
install.packages("randomForest)
Gói "randomForest" có chức năng randomForest() được sử dụng để tạo và phân tích các khu rừng ngẫu nhiên.
Cú pháp
Cú pháp cơ bản để tạo một khu rừng ngẫu nhiên trong R là:
randomForest(formula, data)
Sau đây là mô tả về các tham số được sử dụng:
formula là một công thức mô tả các biến dự báo và phản ứng.
data là tên của tập dữ liệu được sử dụng.
Dữ liệu đầu vào
Chúng tôi sẽ sử dụng tập dữ liệu tích hợp R có tên là readSkills để tạo cây quyết định. Nó mô tả điểm số ReadingSkills của ai đó nếu chúng ta biết các biến "tuổi", "cỡ giày", "điểm số" và liệu người đó có phải là người bản xứ hay không.
Đây là dữ liệu mẫu.
# Load the party package. It will automatically load other
# required packages.
library(party)
# Print some records from data set readingSkills.
print(head(readingSkills))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả và biểu đồ sau:
nativeSpeaker age shoeSize score
1 yes 5 24.83189 32.29385
2 yes 6 25.95238 36.63105
3 no 11 30.42170 49.60593
4 yes 7 28.66450 40.28456
5 yes 11 31.88207 55.46085
6 yes 10 30.07843 52.83124
Loading required package: methods
Loading required package: grid
...............................
...............................
Thí dụ
Chúng tôi sẽ sử dụng randomForest() chức năng tạo cây quyết định và xem biểu đồ của nó.
# Load the party package. It will automatically load other
# required packages.
library(party)
library(randomForest)
# Create the forest.
output.forest <- randomForest(nativeSpeaker ~ age + shoeSize + score,
data = readingSkills)
# View the forest results.
print(output.forest)
# Importance of each predictor.
print(importance(fit,type = 2))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
Call:
randomForest(formula = nativeSpeaker ~ age + shoeSize + score,
data = readingSkills)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 1
OOB estimate of error rate: 1%
Confusion matrix:
no yes class.error
no 99 1 0.01
yes 1 99 0.01
MeanDecreaseGini
age 13.95406
shoeSize 18.91006
score 56.73051
Phần kết luận
Từ rừng ngẫu nhiên được hiển thị ở trên, chúng ta có thể kết luận rằng kích cỡ giày và điểm số là những yếu tố quan trọng quyết định xem ai đó có phải là người bản ngữ hay không. Ngoài ra, mô hình chỉ có 1% sai số, có nghĩa là chúng tôi có thể dự đoán với độ chính xác 99%.