RANDOM VÀO LC THÌ CHUI VÀO RỪNG HAY RA LANE?

Với nhu cầu giám sát và đo lường phức tạp hơn, chúng ta không thể phụ thuộc các thuật toán đơn giản. Thay vào đó, họ phải sử dụng các thuật toán có chức năng tính toán cao hơn và một thuật toán như vậy là Rừng ngẫu nhiên. Trong bài xích đăng blog này về Rừng tự dưng Trong R, bạn sẽ tìm hiểu các nguyên tắc cơ bản của Rừng tự dưng cùng cùng với việc thực hiện nó bằng phương pháp sử dụng ngữ điệu R.

Bạn đang xem: Random vào lc thì chui vào rừng hay ra lane?

Đây là danh sách những chủ đề cơ mà tôi sẽ đề cập đến trong blog Random Forest In R này:

Phân các loại là gì? Rừng bất chợt là gì? vì sao sử dụng Rừng ngẫu nhiên? Random Forest hoạt động như nạm nào? tạo thành một vùng rừng núi ngẫu nhiên thực tiễn triển khai rừng tự dưng trong R

Phân nhiều loại là cách thức dự đoán lớp của một điểm tài liệu đầu vào tốt nhất định. Các vấn đề phân một số loại thường chạm chán trong học đồ vật và bọn chúng thuộc cách thức học có giám sát.

Giả sử bạn có nhu cầu phân một số loại email của mình thành 2 nhóm, email spam với không spam. Đối với loại sự việc này, khi bạn phải gán một điểm dữ liệu đầu vào vào những lớp khác nhau, chúng ta có thể sử dụng các thuật toán phân loại.

Theo phân loại, shop chúng tôi có 2 loại:

Phân loại nhị phân Phân loại nhiều lớp
*

Nhưng trả sử rằng chúng tôi muốn phân một số loại email của chính bản thân mình thành 3 lớp:

Thư rác Thư chưa phải Spam phiên bản nháp

Một điều nữa cần chú ý ở đấy là các quy mô phân loại thường dự kiến một quý hiếm liên tục. Nhưng mà giá trị liên tục này đại diện thay mặt cho xác suất của một điểm tài liệu nhất định thuộc mỗi lớp đầu ra.

Bây giờ chúng ta đã nắm rõ về phân các loại là gì, hãy cùng xem qua một số Thuật toán Phân các loại được áp dụng trong học tập máy:

Hồi quy logistic K sản phẩm xóm sớm nhất (KNN) Cây đưa ra quyết định Máy cung cấp vector Naive Bayes Rừng bỗng nhiên

Thuật toán rừng ngẫu nhiên là 1 trong thuật toán phân các loại và hồi quy gồm giám sát. Như tên cho thấy, thuật toán này tạo hốt nhiên một vùng rừng núi với một số trong những cây.

Nói chung, càng nhiều cây trong rừng thì rừng trông càng to gan lớn mật mẽ. Tương tự, trong bộ phân một số loại rừng ngẫu nhiên, số lượng cây vào rừng càng tốt thì độ đúng chuẩn của tác dụng càng lớn.


*

Nói một biện pháp dễ hiểu, Rừng thiên nhiên xây dựng nhiều cây đưa ra quyết định (được điện thoại tư vấn là rừng) cùng dán chúng lại cùng với nhau để sở hữu được dự đoán chính xác và ổn định hơn. Khu rừng mà nó xây dựng là một trong tập hợp những Cây Quyết định, được đào tạo và giảng dạy theo phương pháp đóng bao.

Trước khi bàn thảo sâu về Rừng Ngẫu nhiên, họ cần gọi về cách buổi giao lưu của Cây Quyết định.

Nhiều các bạn có thắc mắc này trong đầu:

Sự biệt lập giữa rừng ngẫu nhiên và cây quyết định là gì?

Hãy nhằm tôi giải thích.

Giả sử rằng bạn đang muốn sở hữu một ngôi nhà, nhưng các bạn không thể quyết định mua dòng nào. Vị vậy, bạn tìm hiểu thêm một vài cửa hàng đại lý và họ chuyển ra danh sách các thông số kỹ thuật mà bạn nên quan tâm đến trước lúc mua nhà. List bao gồm:

giá chỉ của căn nhà Địa phương con số phòng ngủ khu vực đậu xe cơ sở vật hóa học sẵn tất cả
*

Một điểm quan trọng cần lưu ý ở đây là Cây ra quyết định được kiến thiết trên toàn cục tập dữ liệu, bằng cách sử dụng toàn bộ các trở nên dự báo. Bây giờ, hãy coi Random Forest sẽ xử lý vấn đề tương tự như thế nào.

Giống như tôi vẫn đề cập trước đó Rừng ngẫu nhiên là 1 tập hợp các cây quyết định, nó chọn đột nhiên một tập hợp những tham số và tạo ra một cây quyết định cho từng tập hợp những tham số sẽ chọn.

Hãy quan sát vào hình mặt dưới.


*

Ở đây, tôi đã chế tạo ra 3 Cây đưa ra quyết định và mỗi Cây quyết định chỉ rước 3 tham số từ toàn bộ tập dữ liệu. Từng cây đưa ra quyết định dự đoán hiệu quả dựa trên những biến dự báo tương ứng được áp dụng trong cây đó và sau cùng lấy quý giá trung bình của hiệu quả từ toàn bộ các cây quyết định trong rừng ngẫu nhiên.

Nói một giải pháp dễ hiểu, sau khi tạo những cây quyết định bằng phương thức này, mỗi cây sẽ lựa chọn hoặc bỏ phiếu cho lớp (trong trường hòa hợp này các cây quyết định sẽ chọn mua nhà hay không), với lớp nhận được rất nhiều phiếu thai nhất theo đa phần đơn giản là call là lớp dự đoán.

Để kết luận, Cây ra quyết định được sản xuất trên toàn thể tập dữ liệu bằng phương pháp sử dụng tất cả các biến dự báo, trong lúc Rừng tự nhiên được sử dụng để tạo các cây quyết định, sao cho từng cây ra quyết định chỉ được phát hành trên một trong những phần của tập dữ liệu.

Tôi mong muốn sự biệt lập giữa Cây quyết định và Rừng bỗng dưng là rõ ràng.

tại sao sử dụng Rừng ngẫu nhiên?

Bạn rất có thể tự hỏi trên sao công ty chúng tôi sử dụng Rừng tự nhiên khi cửa hàng chúng tôi có thể giải quyết các sự việc tương tự bằng phương pháp sử dụng cây Quyết định. Hãy nhằm tôi giải thích.

tuy vậy cây đưa ra quyết định rất tiện lợi và thuận lợi thực hiện, nhưng chúng thiếu độ chính xác. Cây quyết định vận động rất tác dụng với dữ liệu giảng dạy được áp dụng để xây dựng chúng, nhưng bọn chúng không linh hoạt khi phân một số loại mẫu mới. Tức là độ đúng chuẩn trong quy trình tiến độ thử nghiệm là khôn cùng thấp. Điều này xẩy ra do một quá trình được gọi là thừa lắp. Điều này tức là sự xáo trộn vào dữ liệu giảng dạy được tế bào hình đánh dấu và học tập thành các khái niệm. Nhưng vụ việc ở đây là những khái niệm này không vận dụng cho tài liệu thử nghiệm và ảnh hưởng tác động tiêu rất đến khả năng phân loại dữ liệu mới của tế bào hình, vì thế làm bớt độ đúng chuẩn của dữ liệu thử nghiệm.

Bây giờ bọn họ hãy tập trung vào Rừng Ngẫu nhiên.

Rừng Ngẫu nhiên hoạt động như nỗ lực nào?

Để đọc Rừng ngẫu nhiên, hãy để ý tập dữ liệu mẫu dưới đây. Trong tập tài liệu này, chúng tôi có bốn trở nên dự báo, đó là:

khối lượng Lưu lượng máu Động mạch bị chặn Đau ngực
*

tạo nên một khu rừng ngẫu nhiên

Bước 1: sinh sản Tập tài liệu khởi động

Bootstrapping là một cách thức ước tính được sử dụng để lấy ra dự đoán trên một tập dữ liệu bằng phương pháp lấy chủng loại lại nó. Để sinh sản một tập dữ liệu khởi động, họ phải chọn ngẫu nhiên các mẫu từ bỏ tập dữ liệu gốc. Một điểm cần lưu ý ở đây là bạn cũng có thể chọn và một mẫu những lần.


Trong hình trên, tôi đã chọn ngẫu nhiên các mẫu trường đoản cú tập dữ liệu gốc và tạo nên tập dữ liệu khởi động. Đơn giản đề nghị không? Chà, trong các bài toán thực tế, các bạn sẽ không bao giờ nhận được một tập dữ liệu nhỏ dại như vậy, do đó, việc tạo một tập dữ liệu khởi động phức tạp hơn một chút.

Bước 2: tạo nên cây quyết định

Nhiệm vụ tiếp theo sau của bọn họ là thi công Cây quyết định bằng cách sử dụng tập tài liệu khởi hễ được sinh sản ở bước trước. Vì chúng tôi đang tạo khu rừng ngẫu nhiên, công ty chúng tôi sẽ không xem xét toàn thể tập tài liệu mà công ty chúng tôi đã tạo, cố gắng vào đó cửa hàng chúng tôi sẽ chỉ thực hiện một tập hợp nhỏ ngẫu nhiên của các biến ở mỗi bước. Trong ví dụ như này, chúng ta sẽ chỉ để mắt tới hai biến đổi ở mỗi bước. Vị vậy, chúng tôi ban đầu ở nút gốc, ở đây shop chúng tôi chọn tình cờ hai trở nên làm ứng cử viên cho nút gốc. Mang sử công ty chúng tôi đã lựa chọn Dòng chảy máu và Động mạch bị chặn. Trong những 2 biến đổi này, bây chừ chúng ta nên chọn vươn lên là phân tách các mẫu tốt nhất. Vì tác dụng của ví dụ như này, hãy giả sử rằng Động mạch bị chặn là một trong dự đoán quan trọng hơn và cho nên vì thế chỉ định nó có tác dụng nút gốc. Bước tiếp theo của bọn họ là lặp lại quy trình tương tự như cho từng nút nhánh sắp tới tới. Ở đây, cửa hàng chúng tôi lại chọn thiên nhiên hai đổi mới làm ứng viên cho nút nhánh cùng sau đó lựa chọn một biến phân tách bóc tốt nhất các mẫu.

Chúng tôi vừa sinh sản cây Quyết định đầu tiên của mình.

Bước 3: trở về Bước 1 cùng Lặp lại

Giống như tôi vẫn đề cập trước đó, Rừng Ngẫu nhiên là 1 trong tập hợp các Cây Quyết định. Mỗi Cây quyết định dự đoán lớp đầu ra dựa trên những biến dự báo tương ứng được sử dụng trong cây đó. Cuối cùng, kết quả của tất cả các Cây ra quyết định trong vùng rừng núi Ngẫu nhiên được lưu lại và lớp có phần lớn phiếu bầu được tính là lớp đầu ra.

Xem thêm: Lịch Chiếu Phim Cgv Bình Tân Ngày 24/09/2021, Cgv Aeon Bình Tân

Do đó, hiện giờ chúng ta phải tạo lập nhiều cây đưa ra quyết định hơn bằng cách xem xét một tập hòa hợp con của các biến dự báo ngẫu nhiên ở mỗi bước. Để thực hiện việc này, hãy quay trở lại bước 1, sản xuất tập tài liệu khởi động new và kế tiếp xây dựng Cây quyết định bằng phương pháp chỉ xem xét một tập vừa lòng con của những biến ở mỗi bước. Vày vậy, bằng cách làm theo quá trình trên, Rừng tự dưng của họ sẽ trông giống hệt như sau:


Việc tái diễn này được tiến hành 100 lần, vì chưng đó tạo nên nhiều cây ra quyết định với từng cây và tính toán hiệu quả đầu ra, bằng phương pháp sử dụng một tập đúng theo con các biến được chọn tự nhiên ở từng bước.

Việc có nhiều Cây đưa ra quyết định như vậy vào Rừng đột nhiên là điều làm cho nó kết quả hơn một Cây ra quyết định riêng lẻ được tạo ra bằng phương pháp sử dụng tất cả các nhân kiệt và tổng thể tập dữ liệu.

Bước 4: Dự đoán kết quả của một điểm tài liệu mới

Bây giờ cửa hàng chúng tôi đã tạo thành một khu rừng ngẫu nhiên, hãy xem phương pháp nó có thể được sử dụng để tham dự đoán liệu một người bệnh mới gồm bị bệnh về tim hay không. Sơ đồ dưới đây có tài liệu về bệnh nhân mới. Tất cả những gì bọn họ phải làm là chạy dữ liệu này xuống những cây ra quyết định mà bọn họ đã thực hiện.

Cây đầu tiên cho thấy bệnh nhân bị bệnh tim, vị vậy bọn họ theo dõi nó vào một bảng như trong hình.


Tương tự, công ty chúng tôi chạy dữ liệu này xuống những cây ra quyết định khác cùng theo dõi những lớp được dự đoán bởi mỗi cây. Sau khi chạy dữ liệu xuống tất cả các cây trong khu rừng Ngẫu nhiên, cửa hàng chúng tôi kiểm tra xem lớp nào nhấn được phần lớn phiếu bầu. Trong trường phù hợp của bọn chúng tôi, lớp "Có" nhận được rất nhiều phiếu thai nhất, vì đó cụ thể là bệnh nhân new bị căn bệnh tim.

Để kết thúc, chúng tôi khởi động dữ liệu và sử dụng tổng phù hợp từ toàn bộ các cây để lấy ra quyết định, quy trình này được gọi là Bagging.

Bước 5: Đánh giá mô hình

Bước sau cuối của cửa hàng chúng tôi là review mô hình Rừng ngẫu nhiên. Trước đó, trong những lúc tạo tập tài liệu khởi động, chúng tôi đã vứt bỏ một mục nhập / mẫu mã vì chúng tôi sao chép một mẫu mã khác. Trong một vấn đề thực tế, khoảng 1/3 tập tài liệu gốc ko được bao hàm trong tập dữ liệu khởi động.

Hình dưới đây cho biết thêm mục nhập không xong xuôi trong tập dữ liệu khởi động.


Tập tài liệu mẫu này không bao hàm trong tập tài liệu khởi cồn được điện thoại tư vấn là tập dữ liệu Out-Of-Bag (OOB).

Tập dữ liệu Out-Of-Bag được sử dụng để kiểm tra độ đúng mực của mô hình, vì mô hình không được sinh sản bằng dữ liệu OOB này vì thế nó sẽ giúp chúng ta hiểu rõ liệu mô hình có công dụng hay không.

Trong trường thích hợp của chúng tôi, lớp đầu ra output cho tập dữ liệu OOB là "Không". Bởi vậy, để quy mô Rừng bỗng nhiên của chúng tôi chính xác, nếu shop chúng tôi chạy dữ liệu OOB xuống các cây Quyết định, shop chúng tôi phải nhấn được phần nhiều phiếu "Không". Quy trình này được triển khai cho toàn bộ các mẫu mã OOB, trong trường phù hợp của bọn chúng tôi, công ty chúng tôi chỉ bao gồm một OOB, mặc dù nhiên, trong đa số các vấn đề, thường có khá nhiều mẫu hơn.

Do đó, cuối cùng, bạn cũng có thể đo độ đúng đắn của khu rừng ngẫu nhiên bằng phần trăm các mẫu OOB được phân loại bao gồm xác.

Tỷ lệ chủng loại OOB được phân loại không đúng mực được điện thoại tư vấn là Lỗi kế bên túi. Đó là 1 trong ví dụ về cách hoạt động của Rừng ngẫu nhiên.

Bây giờ chúng ta hãy hợp tác vào tiến hành thuật toán Rừng bỗng nhiên để xử lý một vấn đề tinh vi hơn.

thực tiễn triển khai rừng tình cờ trong R

Ngay cả những người dân sống bên dưới một tảng đá cũng đã từng có lần nghe nói đến một tập phim tên là Titanic. Nhưng có bao nhiêu các bạn biết rằng bộ phim truyền hình dựa trên một sự kiện gồm thật? Kaggle sẽ tập hợp một bộ tài liệu chứa tài liệu về hồ hết người sinh tồn và ai đó đã chết trên tàu Titanic.

Báo cáo vấn đề:

Để xây dựng mô hình Rừng Ngẫu nhiên hoàn toàn có thể nghiên cứu vãn các điểm sáng của một cá nhân trên tàu Titanic cùng dự đoán kĩ năng họ sống sót.

Mô tả Tập dữ liệu:

Có một số trong những biến / chức năng trong tập dữ liệu cho mỗi người:

pclass: hạng quý khách (1, 2 hoặc 3) tình dục tuổi tác sibsp: số anh chị em / vợ ông chồng trên bảng giấy da: số cha mẹ / con cháu giá vé: hành khách đã trả bao nhiêu bắt đầu: nơi họ lên thuyền (C = Cherbourg; Q = Queenstown; S = Southampton)

install.packages("caret", dependencies = TRUE) install.packages("randomForest")

library(caret) library(randomForest)

train Bây giờ, hãy tham khảo dữ liệu demo nghiệm:

test

head(train)
Trước khi họ tìm đọc thêm, yếu ớt tố quan trọng nhất trong những lúc xây dựng mô hình là chọn những tính năng cực tốt để áp dụng trong tế bào hình. Không khi nào là lựa chọn thuật toán rất tốt hoặc sử dụng gói R phức tạp nhất. Bây giờ, "tính năng" chỉ là một trong những biến số.

Vì vậy, vấn đề này đưa chúng ta đến câu hỏi, làm vắt nào để bọn họ chọn những biến đặc biệt nhất nhằm sử dụng? Cách thuận lợi là sử dụng các tab chéo và ô hộp có điều kiện.

Các tab chéo cánh thể hiện quan hệ giữa hai biến hóa một phương pháp dễ hiểu. Phù hợp với vấn đề của chúng tôi, chúng tôi muốn biết đổi thay nào là nhân tố dự báo tốt nhất cho "Sống sót". Hãy coi xét những tab chéo cánh giữa "Sống sót" cùng từng biến khác. Trong R, công ty chúng tôi sử dụng hàm bảng:

table(train<,c("Survived", "Pclass")>) PclassSurvived 1 2 3 0 80 97 372 1 136 87 119 hiện nay chúng ta biết rằng bọn họ phải thực hiện Pclass trong tế bào hình của chính mình vì nó chắc chắn có quý giá dự đoán trẻ khỏe về bài toán liệu ai kia có sống sót hay không. Bây giờ, chúng ta cũng có thể lặp lại quá trình này cho các biến phân loại khác vào tập dữ liệu và ra quyết định những phát triển thành nào bạn muốn bao gồm

Để làm cho mọi thứ tiện lợi hơn, bọn họ hãy sử dụng những ô hộp "có điều kiện" để đối chiếu phân phối của từng biến hóa liên tục, với đk là quý khách có sống sót hay không. Tuy thế trước tiên bọn họ cần setup gói "fields":

install.packages("fields")library(fields)bplot.xy(train$Survived, train$Age)
xung quanh ra, nếu như tóm tắt lại thì có tương đối nhiều NA. Vì chưng vậy, họ hãy thải trừ biến Age, bởi nó không tồn tại tác động mập đến Survived, và vì NA làm cho nó khó thao tác với nó.

summary(train$Age) Min. 1st Qu. Median Mean 3rd Qu. Max. NA"s 0.42 20.12 28.00 29.70 38.00 80.00 177

bplot.xy(train$Survived, train$Fare)

summary(train$Fare) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 7.91 14.45 32.20 31.00 512.33 hiện thời mô hình được đào tạo bằng cách sử dụng thuật toán Rừng thốt nhiên mà họ đã đàm đạo trước đó. Random Forest tuyệt vời cho những vụ việc như vậy bởi nó thực hiện nhiều phép tính với dự đoán tác dụng với độ đúng chuẩn cao.

# Converting ‘Survived’ to a factortrain$Survived Xác nhận chéo được sử dụng để đánh giá hiệu quả của tế bào hình bằng cách sử dụng dữ liệu đào tạo. Bạn ban đầu bằng cách chia bỗng dưng dữ liệu đào tạo và giảng dạy thành 5 phần có form size bằng nhau được điện thoại tư vấn là “nếp gấp”. Tiếp theo, chúng ta đào tạo quy mô trên 4/5 tài liệu và soát sổ độ đúng mực của nó trên 01/05 dữ liệu chúng ta đã vứt đi. Sau đó, chúng ta lặp lại quá trình này với mỗi lần phân chia dữ liệu. Cuối cùng, chúng ta tính vừa phải độ đúng đắn theo tỷ lệ tỷ lệ trên năm phần khác biệt của dữ liệu để có được độ đúng chuẩn trung bình. Caret tiến hành điều này cho chính mình và chúng ta có thể xem điểm số bằng cách xem cổng output của mô hình:

Trong đầu ra, với mtry = 5, độ chính xác trung bình là 0,8170964, hay khoảng 82 phần trăm. Cực hiếm nào là cao nhất, cho nên Caret chọn giá trị này cho cái đó tôi.

Trước khi chúng tôi dự đoán áp sạc ra cho tài liệu thử nghiệm, hãy soát sổ xem có bất kỳ dữ liệu như thế nào bị thiếu trong những biến mà chúng tôi đang sử dụng để tham gia đoán hay không. Giả dụ Caret tìm thấy ngẫu nhiên giá trị như thế nào bị thiếu, nó sẽ không còn trả về một dự kiến nào cả. Do vậy, bọn họ phải tìm dữ liệu bị thiếu trước khi tiếp tục:

summary(test)
bởi vì vậy, nếu như một mục nhập vào cột “Giá vé” là NA, thì hãy sửa chữa nó bởi giá trị vừa đủ của cột và sa thải NA khi bạn lấy giá trị trung bình:

test$Fare

test$Survived

test$Survived

Hãy chăm chú tìm các bài viết khác vào loạt bài này sẽ lý giải các khía cạnh không giống nhau của kỹ thuật Dữ liệu.