Hello, xin chào, t sẽ giải thích cho m cái biểu đồ Random Forest nha



tải về 0.61 Mb.
Chuyển đổi dữ liệu24.05.2024
Kích0.61 Mb.
#57738
Hello


Hello, xin chào, t sẽ giải thích cho m cái biểu đồ Random Forest nha
Thì Random Forest nó cơ bản chỉ là nó tập hợp các cây quyết định ( Decision Tree ) rồi những dự đoán được tổng hợp từ các cây quyết định

Ví dụ như trên, thuật toán Random Forest có 6 cây quyết định, 5 cây dự đoán 1 và 1 cây dự đoán 0, do đó mình sẽ vote là cho ra dự đoán cuối cùng là 1.

Sau đó nó sẽ lấy n giá trị random trong tập dữ liệu gốc, nhưng sau khi lấy ra thì nó không xóa giá trị đó đi, nó lấy giá trị ra nhưng nó vẫn giữ trong tập dữ liệu gốc

Bằng cách lặp lại quá trình lấy mẫu từ tập dữ liệu gốc, chúng ta tạo ra nhiều tập dữ liệu con khác nhau với sự đa dạng trong việc mẫu được chọn. Điều này giúp mỗi cây quyết định trong Random Forest được huấn luyện trên một tập dữ liệu con khác nhau, tạo ra sự đa dạng trong các cây quyết định và giảm nguy cơ overfitting.

Bởi vì nếu dùng tập dữ liệu gốc và các thuộc tính gốc để training cho nó thì xảy ra overfitting. Overfitting là mô hình có thể học quá mức từ dữ liệu train và nó sẽ dự đoán dựa trên dữ liệu đó. Khi áp dụng mô hình đã huấn luyện vào test data nó có thể không hiệu quả vì không tổng quát hóa được từ dữ liệu mới mà chưa từng thấy trước đó. Thì khi mà lấy ngẫu nhiên thì sẽ có dữ liệu không tương quan, bổ sung thêm nhiều dữ liệu và biến thể cho mô hình, tạo ra sự đa dạng trong các cây quyết định và giảm nguy cơ overfitting. Lúc đó kết quả dự đoán sẽ okie hơn

Ví dụ, t có 7 row data



Thì t sẽ chọn ngẫu nhiên 4 row ngẫu nhiên: Đây là cây thứ nhất

Cây thứ 2 t cũng chọn thêm 4 row ngẫu nhiên

Tức là Thuật toán Random Forest gồm nhiều cây quyết định, mỗi cây quyết định đều có những yếu tố ngẫu nhiên:

  1. Lấy ngẫu nhiên dữ liệu để xây dựng cây quyết định.

  2. Lấy ngẫu nhiên các thuộc tính để xây dựng cây quyết định.



Sau đó kết quả dự đoán của từng cây được kết hợp lại để đưa ra dự đoán cuối cùng.



  • Kết luận: Lấy ngẫu nhiên các tập dữ liệu và thuộc tính để vẽ nhiều cây quyết định thì nó sẽ phong phú về dữ liệu để dự đoán chính xác hơn trên tập dữ liệu mình đưa vào. Còn nếu như mình cho train luôn tập dữ liệu gốc thì nó sẽ không dự đoán được dữ liệu mới, thì nó không phong phú, nó chỉ dựa trên dữ liệu train nó học rồi nó dự đoán, mà dữ liệu mới nó không có thì khi đưa ra kết quả dự đoán không chuẩn xác, cho nên mới lấy ngẫu nhiên => nhiều data

Trong chương trình thì nó cũng đơn giản dễ hiểu thôi, nó cũng như từ Decision Tree

    • Trong bài thì t sẽ vẽ 5 cây quyết định ngẫu nhiên thì sẽ ra 5 cây tương ứng ( mỗi lần thực hiện lại thì nó đều ngẫu nhiên )

Hình sau khi vẽ

Có 5 hình cây quyết định như này. Thì sau khi vẽ nó sẽ ra một bảng số liệu như này
T đang dự đoán Purchased dựa trên Age, Tức là Age biến độc lập, Purchased biến mục tiêu.

Độ chính xác là 89%
Kết quả voting tức là nó sẽ đếm các dự đoán của cây quyết định, giá trị nào nhiều hơn thì nó sẽ đưa ra giá trị đó
Trong số liệu thì giá trị 0: 57 và giá trị 1:23
Tức là suy ra người ta sẽ không mua => Purchased = 0
Thì voting tổng 80 bởi vì có 80 mẫu trong tập test ( tức là tập dữ liệu đưa vào để dự đoán ), còn lại là train
Đoạn code này nè

Thì test size = 20% tức là 80 mẫu thì nó sẽ dự đoán xem 80 mẫu dự đoán ra như nào
Vậy là xong phần Random Forest
Link Youtube xem tham khảo: https://www.youtube.com/watch?v=BGiJqA-cGgQ
tải về 0.61 Mb.

Chia sẻ với bạn bè của bạn:




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương