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%.