Thuật toán Random Forest tạo ra các cây quyết định trên các mẫu dữ liệu và sau đó lấy dự đoán từ mỗi cây trong số chúng và cuối cùng chọn giải pháp tốt nhất bằng cách bỏ phiếu.. Các đặc
Trang 1
TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP HÒ CHÍ MINH
BÁO CÁO GIỮA KÌ MÔN : KHAI PHÁ DỮ LIỆU
Đề tài : RANDOM FOREST AGRORITHSM
(Thuật toán Rừng cây ngẫu nhiên)
Nhóm SVTH: Nhóm 9 Lớp: D01
GVHD: ThS.Nguyén Hoang An
Tp Hồ Chỉ Minh, tháng 11 năm 2023
Trang 2
N Thi Ut
Lé Thanh Truong
DANH MUC HINH ANH
Hình 1.1 So dé mé ta hoat déng cua Random Forest
Hình 2.1 M6 ta b6 dữ liệu
Hình 2.2 Mô tả bộ dữ liệu
Hình 2.3 Hiền thị một số dòng đầu tiên của DataFrame
Hình 2.4 Mô tả dữ liệu
Hinh 2.5 Thông tin về đữ liệu
Hình 2.6 Kiểm tra dữ liệu bị thiếu
Hình 2.7 Biểu đồ phân phối tuôi (Age)
Hình 2.8 Biểu đồ phân phối số lần liên lạc (Campaign)
Hình 2.9 Biểu đồ phân phối số ngày từ cuộc gọi trước đó (Pdays)
Hình 2.10 Biểu đồ phân phối số ngày từ cuộc gọi trước đó (Pdays)
Hình 2.L1 Biểu đồ phân phối biến mục tiêu (Y)
Hình 2.12 Biểu đồ mối liên hé gitta Age va Camppaign
Hình 2.13 Biểu đồ mối liên hệ giữa nghề nghiệp của Khách hàng (job) với việc
đăng ký tài khoản tiết kiệm (Y)
Hinh 2.14 Chia tập Test va tap Train
Hình 2.15 Dự đoán việc đăng ký khoản tiết kiệm
Hình 2.16 Dự đoán việc đăng ký khoản tiết kiệm
Hình 2.17 Đánh giá hiệu suất
Hình 2.18 Kết quả đánh giá hiệu suất
Trang 3MỤC LỤC CHƯƠNG I GIỚI THIỆU CHUNG VỀ THUẬT TOÁN RANDOM FOREST
1.L Giới thiệu Thuật toán
1.2 Các đặc điểm của Random Forest
1.3 Ưu điểm của Random Forest
1.4 Nhược điểm của Random Forest
1.5 Cac ung dung cua Random Forest
1.6 Nguyên lý hoạt động của thuật toán Random Forest
1.7 Sự khác biệt giữa cây quyết định và Random Forest
CHUONG 2 XAY DUNG MOT MO HINH PHAN LOAI BANG RANDOM
FOREST BANG CACH SU DUNG THU VIEN SCIKIT-LEARN
2.1 Giới thiệu
2.2 Quá trình xây dựng và đánh giá mô hình phân loại tập dữ liệu
2.1.1 Tiền xử lý dữ liệu
2.1.2 _ Trực quan hóa dữ liệu
2.1.3 Mô hình hóa dữ liệu:
TÀI LIỆU THAM KHẢO
10
Trang 4CHƯƠNG 1 GIỚI THIỆU CHUNG VẺ THUẬT TOÁN RANDOM FOREST
1.1 Giới thiệu Thuật toán
Random Forest la một thuật toán có giảm sát được sử dụng cho cả phân loại cũng như hồi quy Tuy nhiên, nó chủ yếu được sử dụng cho các bài toán phân loại
là một tập hợp của các Decision Tree, mà mỗi cây được chọn theo một thuật toán dựa vào ngẫu nhiên Thuật toán Random Forest tạo ra các cây quyết định trên các mẫu dữ liệu và sau đó lấy dự đoán từ mỗi cây trong số chúng và cuối cùng chọn giải pháp tốt nhất bằng cách bỏ phiếu Đây là một phương pháp tổng hợp tốt hơn một cây quyết định đơn lẻ vì nó làm giảm sự phù hợp quá mức băng cách lấy trung bình kết quả
1.2 Các đặc điểm của Random Forest
v Tích hợp của nhiều cây quyết định
Random Forest kết hợp một số cây quyết định để tạo ra một mô hình tổng hợp Mỗi cây quyết định được huấn luyện độc lập trên một phần ngẫu nhiên của dữ liệu và sử đụng một phần ngẫu nhiên của các đặc trưng (feature) Quá trình này cho phép Random Forest tận dụng sự đa dạng trong dữ liệu và đặc trưng để tạo ra một mô hình mạnh mẽ hơn và tránh tình trạng overfitting, là hiện tượng mô hình quá phù hợp với dữ liệu huấn luyện nhưng kém trong việc dự đoán dữ liệu mới Random Forest cũng cho phép đánh giá tầm quan trọng của các đặc trưng trong việc đưa ra quyết
định, giúp cải thiện khả năng diễn giải của mô hình
v Sự đa dạng trong các cây quyết định
Đề đảm bảo tính đa dạng trong các cây quyết định, Random Forest sử dụng một kỹ thuật quan trọng được gọi là tai chon mau ngau nhién (bootstrap) dé tao ra
1
Trang 5các tập đữ liệu con riêng biệt cho mỗi cây quyết định Trong quá trình này, một số mẫu từ tập dữ liệu sốc được lựa chọn ngẫu nhiên đề tạo thành các tập con khác nhau, mỗi tập con này sẽ được sử dụng đề huấn luyện một cây quyết định riêng
Kỹ thuật này giúp đảm bảo tính đa dạng trong mô hình Random Forest bằng cách đảm bảo rằng mỗi cây quyết định được huấn luyện trên một dữ liệu con khác nhau Kết quả là, mô hình tổng hợp tránh hiện tượng overñitting (quá khớp) và trở nên mạnh mẽ hơn trong việc dự đoán dữ liệu mới
v Tính ôn định và khả năng chống nhiễu của Random Forest:
Một ưu điểm quan trọng của Random Forest là khả năng giảm thiêu tác động của nhiễu (noise) trong dữ liệu Điều này được thực hiện thông qua việc tích hợp nhiều cây quyết định vào mô hình Khi kết hợp nhiều cây quyết định, Random Forest tạo ra một mô hình tông hợp có tính ổn định và khả năng khái quát hóa tốt hơn
Nhờ vào việc sử dụng nhiều cây quyết định độc lập, mô hình Random Forest trở nên ít nhạy cảm đối với dữ liệu nhiễu Điều này có nghĩa là nếu có sự nhiễu trong
dữ liệu đầu vào, mô hình sẽ có khả năng tạo ra dự đoán chính xác hơn so với các mô hình đơn lẻ Điều này cải thiện tính ôn định và đáng tin cậy của mô hình trong việc
xử lý dữ liệu thực tế, nơi nhiễu thường xảy ra
* Khả năng thực hiện cả hai nhiệm vụ Phân loại và Hồi quy
có thê được sử dụng cho cả phân lớp và hồi quy
v Xử lý các tập dữ liệu lớn với kích thước cao: Nó có khả năng xử lý các tập
đữ liệu lớn với kích thước cao
* Khả năng xử lý dữ liệu bị thiếu: Random Forest có thê xử lý đữ liệu bị thiếu
và vẫn duy trì độ chính xác
* Không yêu cầu chuẩn hóa đữ liệu: Random Forest không yêu cầu chuẩn hóa
dữ liệu
Trang 6Khả năng chịu nhiễu tốt: Random Forest có khả năng chịu nhiễu tốt
Dé dang để điều chỉnh và tối ưu hóa: Có nhiều tham số có thể được điều
chỉnh đề tối ưu hóa mô hình
Khả năng mở rộng: Random Forest có thê được mở rộng để xử lý các vấn đề phức tạp
Nhược điểm của Random Forest Mac du Random Forest co thé được sử dụng cho cả nhiệm vụ phân loại và hôi quy, nó không phù hợp hơn cho các nhiệm vụ Hồi quy
1.5
* Phức tạp: Sự phức tạp là nhược điểm chính của các thuật toán Rừng ngẫu nhiên Việc xây dựng Rừng ngẫu nhiên khó và tốn thời gian hơn nhiều so với cây quyết định
Yêu cầu nhiều tài nguyên tính toán: Cần nhiều tài nguyên tính toán hơn đề triển khai thuật toán Rừng ngẫu nhiên
Kém trực quan: Nó kém trực quan hơn trong trường hợp chúng ta có một bộ sưu tập lớn các cây quyết định
Chậm tạo dự đoán: Random forests chậm tạo dự đoán bởi vì nó có nhiều cây quyết định Bất cứ khi nào nó đưa ra dự đoán, tất cả các cây trong rừng phải đưa ra dự đoán cho cùng một đầu vào cho trước và sau đó thực hiện bỏ phiếu trên đó
Các ứng dụng của Random Forest Random Forest có thê được sử dụng để giải quyết nhiều loại bài toán phân loại, bao gôm:
Trang 7« _ Phân loại hình ảnh: Sử dụng đề phân loại các đối tượng trong hình ảnh, chăng hạn như phân loại các đối tượng trong ảnh chụp tự động hoặc phân loại các tế bào ung thư trong ảnh chụp y tế
e Phan loai văn bản: Sử dụng dé phan loai van ban, chang hạn như phân loại email thành spam hoặc không spam hoặc phân loại các bài báo thành các chủ
đề khác nhau
« _ Phân loại dữ liệu khách hàng: Đề phân loại dữ liệu khách hàng, chắng hạn như
phân loại khách hàng thành các nhóm khác nhau dựa trên hành vi mua sắm
của họ hoặc phân loại khách hàng có khả năng rời bỏ công ty hay không Một số trường hợp sử dụng cụ thê của Random Forest trong lĩnh vực Tài chính, Ngân
* Dự báo Rui ro Tin dung:
Mô hình Hồi quy Random Forest: Sử dụng để dự đoán các biến liên tục như mức độ nợ hoặc rủi ro tín dụng dựa trên các biến đầu vào như lịch sử tín dụng, tỷ lệ
nợ, và thu nhập
Phân loại Giao dịch Gian lận:
Mô hình Phân loại Random Forest: Sử dụng đề phân loại các giao dịch thành các lớp như "bình thường" và "nghi ngờ” dựa trên các đặc trưng như mô hình hành
vi giao dich va số liệu thống kê
vx Dự đoán Giá Cô Phiếu và Thị Trường Tài chính:
Mô hình Hồi quy Random Forest: Áp dụng đề dự đoán giá cô phiếu và các chỉ
số thị trường dựa trên lịch sử giá cô phiếu, chỉ số tài chính, và các yếu tô khác
* Phân loại Khách hàng và Tiếp thị Đối tượng:
Mô hình Phân loại Random Forest: Được triển khai để phân loại khách hàng thành các phân khúc dựa trên hành vi tài chính, giúp tối ưu hóa chiến lược tiếp thị và quản lý quan hệ khách hàng
1.6 Nguyên lý hoạt động của thuật toán Random Forest
Trang 8hình rừng cây được huấn luyện dựa trên sự phối hợp giữa luật kết hợp (ensembling) va qua trình lấy mẫu tái lặp (bootstrapping) Cụ thể thuật toán này tạo
ra nhiều cây quyết định mà mỗi cây được huấn luyện dựa trên nhiều mẫu con khác nhau và kết quả dự báo dựa trên số kết quả nhiều nhất từ tổng số kết quả của toàn bộ quyết định Như vậy một kết quả dự báo được tông hợp từ nhiều mô hỉnh nên kết quả của chúng sẽ không bị lệch, đồng thời phương sai nhỏ hơn so với chỉ một mô hình, giúp cho mô hình khắc phục được hiện tượng overfitting
Thuật toán hoạt động theo 4 bước cơ bản
Bước I_ Tạo ra một tập con ngấu nhiên từ bộ dữ liệu huấn luyện băng cách sử dụng phương pháp Bootstrap Phương pháp này giúp tạo ra các tập con có số lượng mẫu bằng với số lượng mẫu trong bộ đữ liệu gốc, nhưng có thê chứa các mẫu trùng lặp và mẫu bị bỏ sót
Bước 2 Xây dựng một cây quyết định (Decision Tree) cho mỗi tập con dữ liệu Quá trình xây dựng cây này được thực hiện bằng cách lặp lại các bước sau:
* Chọn ngẫu nhiên một số lượng thuộc tính từ tập hợp các thuộc tính có sẵn Số lượng thuộc tính được chọn thường nhỏ hơn tông số thuộc tính có sẵn
* Tại mỗi nút của cây, sử dụng một tiêu chí đề chọn thuộc tính tốt nhất để phân chia dữ liệu Tiêu chí này thường dựa trên sự tách biệt giữa các lớp dữ liệu hoặc độ sắp xếp của đữ liệu trong thuộc tính
v Tiép tục chia các nút con cho đến khi đạt được điều kiện dừng, chăng hạn như đạt đến độ sâu tôi đa hoặc không còn dữ liệu hoặc không thể tách tiếp
Bước3_ Lặp lại bước l và bước 2 nhiều lần để tạo ra một tập hợp các cây quyết định
Số lượng cây được xác định trước thông qua tham sô
Bước 4 Khi dự đoán, mỗi cây trong tập hợp sẽ đưa ra dự đoán riêng của mình Đối với bài toán phân loại, phương pháp đa số (majority voting) được sử dụng để đưa ra
dự đoán cuối cùng Đối với bài toán hồi quy, dự đoán cuối cùng là giá trị trung bình của các dự đoán từ các cây
Trang 9Sơ đồ dưới đây giải thích hoạt động của thuật toán Random Forest:
Thích ứng Có khả năng thích ứng quá mức Ít có khả năng thích ứng quá
Các giá trị Có thể bị ảnh hưởng nhiều bởi Kha 6n định với các giá trị
Trang 10
Bảng 1.1 Sự khác biệt giữa Cây quyết định và thuật toán Random Forest
CHƯƠNG 2 XÂY DỰNG MỘT MÔ HÌNH PHÂN LOẠI
BANG RANDOM FOREST BANG CACH SU DUNG THU VIEN SCIKIT-LEARN
Trong dự án này, lĩnh vực mà nhóm lựa chọn là marketing Cụ thể, Bộ dữ liệu này liên quan đến chiến dịch tiếp thị ngân hàng, với các thuộc tính như tuôi, nghề nghiệp, tình trạng hôn nhân, trình độ học vấn Bộ dữ liệu nảy phản ánh nhiều khía cạnh của người tiếp thị và ngân hàng cũng như hành vi của khách hàng trong chiến
unknown unknown
protession no high.schocno unknown unknown
high.schoc no
basic4y no
unknown
y no unknown
no basic.9y unknown high.schoc no basic.4y unknown hình.scho‹ no high.schoc no university no
housing
no loan
no
no
contact month
telephone may telephone may
day_of_w campaign pdays previous poutcome emp.var.recons.price
Trang 11Hinh 2.2 M6 ta bo dit liéu
Cac thông tin vê các biên
Thông tin về khách hàng ngân hàng:
(số)
: loại công việc (Biên phân loại:
: tình trạng hôn nhân (Biến phân loại:
"divorced","married"," single
hoặc góa phụ)
††
(Biến phân loại:
university no yes no cellular noy tue 1 999 1 failure 1.1 HHH 1.035 4963.6 no basic.4y no yes no cellular nov tue 2 4 1 success “1.1 sat -508 1035 49636 no basic.4y no yes no cellular nov tue 3 4 2 success 1.1 #088004 508 1035 49636 yes professionno no no cellular nov tue 2 10 1 success 11 50.8 1035 4963.6 yes
university no no no cellular nov wed 2 999 O nonexister 1.1 0090/04 508 103 4963.6 yes
university.no no no telephone nov d 1 999 1 failure 1.1 #084914 50.8 1.03 4963.6 yes
id university.no yes no cellular nov wed 3 999 O nonexister 1.1 M8014 50.8 1.03 49636 no
university.no- no no cellular nov wed 2 999 0 nonexister -1.1 “484440044 -508 103 4963.6 no
high.schocno yes no cellular nov wed 5 999 © nonexister 1.1 8808 50.8 103 49636 no
university.no yes no cellular nor wed 2 999 4 failure 1.1 #ữW#WWUM 50.8 103 4963.6 no sionno yes no telephi thu 1 999 0 nonexistet 1.1 MMNWMM 50.8 1031 49636 yes tuniwersity ro yes no cellular nov thu 1 999 Ø0 nonexistet -1.1 Ban -50.8 1031 4963.6 yes
university.no yes no cellular nov thu 1 999 2 failure 1.1 M8004 508 1031 4963.6 yes ied university no yes no cellular nov thu 1 1 6 success “1.1 mami = -508 1031 49636 yes unknown no yes no cellular nov thu 1 2 failure 1.1 M8008 508 1031 49636 no high.schocno yes yes cellular nov thu 1 999 © nonexister 1.1 #880908 508 1031 49636 no
led professionno: yes no cellular nov thu 6 999 O nonexister 1.1 MA 50.8 1031 49636 no
university.no no no cellular nov thu 2 6 3 success 1.1 #098800 508 1031 4963.6 yes professionno yes no cellular nov fri 3 999 O nonexister 11 508 1028 4963.6 no university no no no cellular nov trì 2 999 0 nonexister 1.1 HARE 508 1028 4963.6 no yes no cellular fri 1 999 1.1 avast Hg S08 1028 4963 basc4y no yes no cellular nov fri 1 9 1 success 1.1 #088 508 1028 49636 no professionno yes no cellular nov fri 1 999 O nonexister 1.1 M004 50.8 1028 49636ye professionno no no cellular nov fri 1 999 O nonexister 1.1 asian 508 1028 4963.6 no
id university no yes no cellular nov fri 2 999 O nonexister 1.1 M/8/0014 508 1028 6 no professionno no no cellular nov fri 1 999 O nonexister 1.1 #088000 508 1028 4963.6 yes professionno yes no cellular noy fri 3 999 1 failure 1.1 NH8908 S08 1028 49636no
unknown"; luu y: "divorced" co nghĩa là đã ly hôn
: Có tín dụng mặc định không? (Biến phân loại: "no","yes","unknown") : Có khoản vay nhà không? (Biến phân loại: "no","yes","unknown")
Wt : Có khoản vay cá nhân không? (Biến phân loại: "no","yes","unknown")