Ứng dụng của thuật toán rừng tự nhiên – Random Forests, đây là một dạng nâng cấp của Cây đưa ra quyết định – decision tree; Rừng ngẫu nhiên là 1 trong thuật toán học tập máy linh hoạt, dễ dàng sử dụng , chế tác ra tác dụng tuyệt vời trong cả khi không kiểm soát và điều chỉnh siêu tham số. Nó cũng là giữa những thuật toán được áp dụng nhiều nhất, vị tính đơn giản dễ dàng và nhiều chủng loại của nó (nó rất có thể được sử dụng cho tất cả nhiệm vụ phân loại và hồi quy).
Bạn đang xem: Sử dụng thuật toán Random Forest để dự đoán dữ liệu
Thuật toán rừng hốt nhiên – Random Forests
Thuật toán Random Forest là gì ?
Random Forest là 1 trong thuật toán học máy thịnh hành thuộc về chuyên môn học bao gồm giám sát. Nó có thể được sử dụng cho cả vấn đề Phân các loại và Hồi quy vào ML. Nó dựa vào khái niệm học tập theo nhóm, là một thừa trình kết vừa lòng nhiều bộ phân một số loại để giải quyết và xử lý một vấn đề tinh vi và để nâng cao hiệu suất của mô hình.Như tên đến thấy, “Rừng ngẫu nhiên là một trong những bộ phân nhiều loại chứa một trong những cây quyết định trên các tập con khác biệt của tập dữ liệu đã đến và lấy giá trị trung bình để nâng cấp độ đúng mực dự đoán của tập dữ liệu đó.” Thay vì phụ thuộc vào một cây quyết định, rừng đột nhiên lấy dự kiến từ mỗi cây cùng dựa trên phần nhiều phiếu dự đoán, và nó dự đoán kết quả cuối cùng.
Số lượng cây lớn hơn trong rừng dẫn mang đến độ đúng mực cao rộng và ngăn ngừa sự việc trang bị vượt mức.
Sơ đồ dưới đây giải thích buổi giao lưu của thuật toán Rừng ngẫu nhiên:

Tầm quan trọng của tính năng rừng ngẫu nhiên
Một unique tuyệt vời không giống của thuật toán rừng ngẫu nhiên là rất dễ dãi đo lường tầm đặc biệt quan trọng tương đối của từng tính năng đối với dự đoán. Sklearn cung ứng một công cụ tuyệt vời để đo lường tầm quan trọng của một tính năng bằng cách xem xét cường độ mà các nút cây sử dụng bản lĩnh đó làm bớt tạp hóa học trên toàn bộ các cây trong rừng. Nó auto tính điểm số này cho từng tính năng sau khi đào chế tác và phân tách tỷ lệ tác dụng để tổng của tất cả mức độ đặc biệt quan trọng bằng một.
Nếu bạn lưỡng lự cây quyết định vận động như rứa nào hoặc lá tuyệt nút là gì, thì đây là một trình bày hay tự Wikipedia: “Trong cây quyết định, từng nút phía bên trong đại diện cho 1 ‘thử nghiệm’ trên một nằm trong tính (ví dụ: đồng xu lật xuất hiện đầu hoặc đuôi), mỗi nhánh thay mặt cho tác dụng của bài bác kiểm tra cùng mỗi nút lá đại diện thay mặt cho một nhãn lớp (quyết định được triển khai sau khi đo lường và tính toán tất cả những thuộc tính). Một nút không tồn tại con là một trong lá ”.
Bằng bí quyết xem xét tầm đặc biệt quan trọng của tính năng, bạn có thể quyết định bản lĩnh nào bao gồm thể bị loại bỏ do chúng không góp sức đủ (hoặc đôi lúc không góp phần gì) cho quy trình dự đoán. Điều này rất đặc trưng vì một quy tắc thông thường trong học thứ là các bạn càng có khá nhiều tính năng thì tế bào hình của bạn càng có không ít khả năng bị trang bị quá mức và ngược lại.
Sự biệt lập giữa cây đưa ra quyết định và rừng ngẫu nhiên
Mặc dù một khu rừng ngẫu nhiên là một tập hợp những cây quyết định, có một số trong những khác biệt.
Nếu các bạn nhập một tập dữ liệu đào tạo và huấn luyện với những tính năng và nhãn vào cây quyết định, nó vẫn hình thành một trong những bộ quy tắc, sẽ được sử dụng để lấy ra các dự đoán.
Ví dụ: để tham gia đoán liệu một người dân có nhấp vào pr trực tuyến đường hay không, bạn có thể thu thập những quảng cáo nhưng mà người đó đã nhấp vào trong thừa khứ và một số tính năng tế bào tả quyết định của họ. Nếu bạn đặt những tính năng và nhãn vào cây quyết định, nó sẽ khởi tạo ra một vài quy tắc giúp dự đoán liệu quảng cáo có được nhấp vào tốt không. Để so sánh, thuật toán rừng bỗng nhiên chọn ngẫu nhiên những quan tiếp giáp và đặc điểm để xây dựng một vài cây quyết định và tiếp nối tính trung bình các kết quả.
Một sự khác biệt khác là cây ra quyết định “sâu” có thể bị quá mức. Hầu hết thời gian, rừng ngẫu nhiên ngăn ngừa điều này bằng phương pháp tạo các tập thích hợp con bỗng nhiên của các đối tượng người sử dụng địa lý và xây dựng những cây nhỏ dại hơn bằng phương pháp sử dụng các tập hợp con đó. Sau đó, nó phối hợp các cây con. Điều quan trọng cần lưu ý là điều này chưa phải lúc nào cũng vận động và nó cũng làm cho quá trình tính toán chậm hơn, tùy trực thuộc vào số lượng cây mà vùng đồi núi ngẫu nhiên xây dựng.
Các ứng dụng của Rừng ngẫu nhiên
Chủ yếu gồm bốn lĩnh vực mà Rừng ngẫu nhiên đa phần được sử dụng:
Ngân hàng: Lĩnh vực ngân hàng chủ yếu sử dụng thuật toán này để khẳng định rủi ro cho vay.Y học: Với sự trợ giúp của thuật toán này, các xu hướng bệnh tật và nguy hại của bệnh có thể được xác định.Sử dụng đất: Chúng tôi có thể xác định các quanh vùng sử dụng đất tương tự bằng thuật toán này.Tiếp thị: Các xu hướng tiếp thị có thể được xác định bằng cách sử dụng thuật toán này.Ưu điểm của Rừng ngẫu nhiên
Random Forest có công dụng thực hiện tại cả hai trọng trách Phân một số loại và Hồi quy.Nó có khả năng xử lý các tập tài liệu lớn với kích cỡ cao.Nó nâng cấp độ đúng chuẩn của quy mô và phòng chặn sự việc trang bị quá mức.Nhược điểm của Rừng ngẫu nhiên
Mặc cho dù rừng ngẫu nhiên rất có thể được sử dụng cho tất cả nhiệm vụ phân loại và hồi quy, nó không tương xứng hơn cho các nhiệm vụ Hồi quy.Các khôn xiết tham số quan liêu trọng
Các cực kỳ tham số vào rừng hốt nhiên được áp dụng để tăng năng lực dự đoán của quy mô hoặc để triển khai cho mô hình nhanh hơn. Hãy xem những siêu thông số của công dụng rừng tình cờ tích phù hợp sẵn của sklearns.
TĂNG SỨC MẠNH DỰ ĐOÁN
Thứ nhất, gồm siêu tham số n_estimators , chỉ là số cây nhưng thuật toán xây dựng trước lúc lấy phiếu bầu tối đa hoặc lấy cực hiếm trung bình của những dự đoán. Nói chung, con số cây cao hơn nữa làm tăng năng suất và làm cho những dự đoán bình ổn hơn, mà lại nó cũng làm chậm quy trình tính toán.
Một vô cùng tham số quan trọng đặc biệt khác là max_features, là con số tối nhiều các đối tượng người tiêu dùng mà rừng bỗng nhiên xem xét để tách bóc một nút. Sklearn cung cấp một số tùy chọn, tất cả đều được miêu tả trong.
Siêu tham số quan tiền trọng sau cuối là min_sample_leaf. Điều này khẳng định số lượng lá về tối thiểu quan trọng để tách bóc một nút bên trong.
TĂNG TỐC ĐỘ CỦA MÔ HÌNH
Siêu tham số n_jobs cho bộ động cơ biết nó được phép áp dụng bao nhiêu bộ xử lý. Nếu nó có mức giá trị là một, nó chỉ rất có thể sử dụng một bộ xử lý. Giá trị “-1” có nghĩa là không bao gồm giới hạn.
Siêu tham số random_state làm cho cổng output của tế bào hình rất có thể sao chép được. Mô hình sẽ luôn tạo ra thuộc một tác dụng khi nó tất cả một giá trị khẳng định là random_state và nếu nó được cung ứng cùng một siêu tham số và cùng một dữ liệu huấn luyện.
Cuối cùng, gồm oob_score (còn được gọi là lấy mẫu oob), là một phương pháp xác thực chéo rừng ngẫu nhiên. Trong lần lấy mẫu mã này, khoảng 1 phần ba tài liệu không được áp dụng để đào tạo mô hình và rất có thể được sử dụng để đánh giá buổi giao lưu của nó. Những chủng loại này được gọi là chủng loại xuất túi. Nó khôn xiết giống với cách thức xác thực vứt một-ra-chéo, nhưng hầu hết không tất cả gánh nặng tính toán bổ sung nào đi với nó.
Phân tích mày mò Dữ liệu - EDA làm cho sạch tài liệu Đặc trưng hạng mục (WIP)Embedding
Hệ thống lưu ý
Đóng góp từ người sáng tác khác
Phụ lục

Random Forest algorithm¶
Đóng góp: Tuấn Nguyễn.
Random forest là thuật toán supervised learning, hoàn toàn có thể giải quyết cả câu hỏi regression với classification.
Giới thiệu về thuật toán Random Forest¶
Random là ngẫu nhiên, Forest là rừng, đề xuất ở thuật toán Random Forest mình sẽ xây dựng nhiều cây đưa ra quyết định bằng thuật toán Decision Tree, mặc dù mỗi cây quyết định sẽ khác nhau (có nguyên tố random). Sau đó hiệu quả dự đoán được tổng phù hợp từ các cây quyết định.
Ở bước giảng dạy thì mình sẽ xây dựng những cây quyết định, những cây quyết định rất có thể khác nhau (phần sau mình sẽ nói mỗi cây được xây dựng như vậy nào).

Sau đó ở bước dự đoán, với một dữ liệu mới, thì ngơi nghỉ mỗi cây ra quyết định mình vẫn đi từ bên trên xuống theo những node điều kiện để được các dự đoán, sau đó tác dụng cuối thuộc được tổng hòa hợp từ hiệu quả của những cây quyết định.

Ví dụ như trên, thuật toán Random Forest bao gồm 6 cây quyết định, 5 cây dự kiến 1 và 1 cây dự đoán 0, do đó mình vẫn vote là tạo ra dự đoán sau cuối là 1.
Xây dựng thuật toán Random Forest¶
Giả sử cỗ dữ liệu của chính mình có n dữ liệu (sample) và mỗi tài liệu có d thuộc tính (feature).
Để kiến tạo mỗi cây ra quyết định mình sẽ làm cho như sau:

Sau lúc sample được n tài liệu từ bước 1 thì bản thân chọn thiên nhiên ở k thuộc tính (k
Dùng thuật toán Decision Tree để thiết kế cây đưa ra quyết định với bộ tài liệu ở bước 2.
Do vượt trính sản xuất mỗi cây quyết định đều phải sở hữu yếu tố tình cờ (random) nên hiệu quả là các cây đưa ra quyết định trong thuật toán Random Forest rất có thể khác nhau.
Thuật toán Random Forest sẽ bao hàm nhiều cây quyết định, từng cây được xây dựng sử dụng thuật toán Decision Tree trên tập dữ liệu không giống nhau và sử dụng tập nằm trong tính khác nhau. Sau đó tác dụng dự đoán của thuật toán Random Forest sẽ được tổng hợp từ những cây quyết định.
Khi dùng thuật toán Random Forest, mình hay chú ý các trực thuộc tính như: số lượng cây quyết định sẽ xây dựng, số lượng thuộc tính dùng để làm xây dựng cây. Xung quanh ra, vẫn có những thuộc tính của thuật toán Decision Tree để sản xuất cây như độ sâu buổi tối đa, số phần tử tối thiểu trong 1 node để có thể tách.
Tại sao thuật toán Random Forest tốt¶
Trong thuật toán Decision Tree, khi tạo cây đưa ra quyết định nếu nhằm độ sâu tùy ý thì cây đã phân nhiều loại đúng hết những dữ liệu vào tập training dẫn mang đến mô hình hoàn toàn có thể dự đoán tệ bên trên tập validation/test, khi đó mô hình bị overfitting, hay nói theo một cách khác là mô hình có high variance.
Thuật toán Random Forest bao gồm nhiều cây quyết định, mỗi cây quyết định đều sở hữu những nhân tố ngẫu nhiên:
Lấy ngẫu nhiên dữ liệu để chế tạo cây quyết định.
Lấy ngẫu nhiên những thuộc tính để kiến tạo cây quyết định.
Do từng cây đưa ra quyết định trong thuật toán Random Forest ko dùng toàn bộ dữ liệu training, tương tự như không dùng toàn bộ các nằm trong tính của dữ liệu để gây ra cây bắt buộc mỗi cây rất có thể sẽ dự kiến không tốt, khi ấy mỗi quy mô cây quyết định không trở nên overfitting mà gồm thế bị underfitting, hay nói theo một cách khác là quy mô có high bias. Tuy nhiên, công dụng cuối thuộc của thuật toán Random Forest lại tổng hợp từ nhiều cây quyết định, thế cho nên thông tin từ những cây sẽ bổ sung thông tin đến nhau, dẫn đến quy mô có low bias cùng low variance, hay mô hình có kết quả dự đoán tốt.
Ý tưởng tổng hợp các cây đưa ra quyết định của thuật toán Random Forest tương tự với ý tưởng của The Wisdom of Crowds được khuyến nghị bởi by James Surowiecki vào khoảng thời gian 2004. The Wisdom of Crowds nói rằng thông thường tổng hợp thông tin từ 1 nhóm sẽ tốt hơn xuất phát điểm từ một cá nhân. Ở thuật toán Random Forest tôi cũng tổng hợp thông tin từ là 1 nhóm những cây quyết định và công dụng cho ra tốt hơn thuật toán Decision Tree với 1 cây quyết định.
Xem thêm: Những món ăn bổ thận tráng dương cực tốt cho nam, ăn gì bổ thận tráng dương
Ví dụ: hầu như người mong muốn mua một mặt hàng trên tiki chẳng hạn, khi đọc review sản phẩm, ví như chỉ hiểu 1 reviews thì có thể là chủ kiến chủ quan lại của tín đồ đấy, hoặc thành phầm người ấy mua rủi ro bị lỗi gì; thông thường để sở hữu cái nhìn xuất sắc về sản phẩm, mình hay gọi tất cả nhận xét rồi cho ra ra quyết định cuối cùng.