1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Môn khai phá dữ liệu đề tài random forest agrorithsm(thuật toán rừng cây ngẫu nhiên)

27 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Random Forest Agrorithsm (Thuật Toán Rừng Cây Ngẫu Nhiên)
Tác giả Nguyễn Thị Út, Lê Thành Trưởng
Người hướng dẫn ThS. Nguyễn Hoàng Ân
Trường học Trường Đại Học Ngân Hàng Tp. Hồ Chí Minh
Chuyên ngành Khai Phá Dữ Liệu
Thể loại báo cáo giữa kỳ
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 27
Dung lượng 4,51 MB

Nội dung

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.. Quá trìn

Trang 1

NGÂN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO

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 Hoàng Ân

Tp Hồ Chí Minh, tháng 11 năm 2023

Trang 2

Hình 2.8 Biểu đồ phân phố ố lần liên lạc (Campaign).i s 13Hình 2.9 Biểu đồ phân phố ố ngày từ ộc gọi s cu i trước đó (Pdays) 14Hình 2.10 Biểu đồ phân phố ố ngày từ i s cuộc gọi trước đó (Pdays) 14

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

Trang 3

MỤC LỤC

CHƯƠNG 1 ỚI THIỆU CHUNG VỀ GI THUẬT TOÁN RANDOM FOREST 1

1.6 Nguyên lý hoạt động của thuật toán Random Forest 41.7 Sự khác biệt giữa cây quyế ịnh và Random Forestt đ 6CHƯƠNG 2 XÂY DỰNG MỘT MÔ HÌNH PHÂN LOẠI BẰNG RANDOM

2.2 Quá trình xây dựng và đánh giá mô hình phân loạ ập dữ i t liệu 10

Trang 4

1

CHƯƠ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 là 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

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ử dụ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

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à tái chọn mẫu ngẫu nhiên (bootstrap) để tạo ra

Trang 5

2

các tập dữ 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 gố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 overfitting (quá khớp) và trở nên mạnh mẽ hơn trong việc dự đoán dữ liệu mới

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

1.3 Ưu điểm của Random Forest

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

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

dữ 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ý dữ liệu bị thiếu

và vẫn duy trì độ chính xác

Không yêu cầu chuẩn hóa dữ liệu: Random Forest không yêu cầu chuẩn hóa

dữ liệu

Trang 6

3

Giảm thiểu overfitting: Bằng cách sử dụng nhiều cây quyết định, Random

Forest giảm thiểu nguy cơ overfitting

Tính năng quan trọng: Random Forest cung cấp một cách dễ dàng để đánh

giá sự quan trọng của từng tính năng

Khả năng mô hình hóa tương tác tính năng: Random Forest có thể mô hình

hóa tương tác giữa các tính năng

Khả năng chịu nhiễu tốt: Random Forest có khả năng chịu nhiễu tốt.

Dễ dàng để đ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

1.4 Nhược điểm của Random Forest

Mặc dù Random Forest có 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

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 đó

1.5 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

1

317 qd nhno hsx Agribank

-None

3

50 BÀI TẬP TỪ ĐỒNG NGHĨA Mức độ

Vat ly dai

cuong 94% (17)

14

Scarselli 2009 - mô hình neural network

Trang 8

4

• 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ế

• Phân loại văn bản: Sử dụng để phân loại văn bản, chẳng 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 Rủi ro Tín dụng:

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 dịch và số liệu thống kê

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

English - huhuLed hiển thị 100% (3)

10

Trang 9

Thuật toán hoạt động theo 4 bước cơ bản

Bước 1 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ộ dữ 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 dữ liệu trong thuộc tính

✓ 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ước 3 Lặp lại bước 1 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 10

6

Sơ đồ dưới đây giải thích hoạt động của thuật toán Random Forest:

Hình 1.1 Sơ đồ mô t ả hoạt đ ộng của Random Forest.

1.7 Sự khác biệt giữa cây quyết định và Random Forest

Tính năng Cây quyết định Rừng ngẫu nhiên

Độ chính xác Độ chính xác có thể thay đổi Độ chính xác cao

Trang 11

7

Bảng 1.1 Sự khác biệt giữa Cây quyế ịnh và thuật toán Random Forest t đ

CHƯƠNG 2 XÂY DỰNG MỘT MÔ HÌNH PHÂN LOẠI BẰNG RANDOM FOREST BẰNG CÁCH SỬ DỤNG THƯ VIỆN SCIKIT-LEARN.

2.1 Giới thiệu

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 dịch tiếp thị

Bộ dữ liệu có tên là bank_direct_marketing_campaign.csv, gồm 41188 phần

tử, 20 biến

Hình 2.1 Mô t ả bộ dữ liệu.

Trang 12

8

Hình 2.2 Mô t ả bộ dữ liệu.

Các 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","unknown"; lưu ý: "divorced" có nghĩa là đã ly hôn hoặc góa phụ)

(Biến phân loại:

: 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"): Có khoản vay cá nhân không? (Biến phân loại: "no","yes","unknown")

Trang 13

9

Liên quan đến liên lạc cuối cùng trong chiến dịch hiện tại:

: Loại hình liên lạc (Biến phân loại: "cellular","telephone")

: Tháng liên lạc cuối cùng trong năm (Biến phân loại: "jan", "feb", "mar",

: ngày liên lạc cuối cùng trong tuần (Biến phân loại:

: thời lượng liên lạc cuối cùng, tính bằng giây (số) Lưu ý quan trọng: thuộc tính này ảnh hưởng lớn đến mục tiêu đầu ra (ví dụ, nếu duration=0 thì y="no") Tuy nhiên, thời lượng không biết trước khi thực hiện cuộc gọi Ngoài ra, sau khi cuộc gọi kết thúc, y là rõ ràng Do đó, biến đầu vào này chỉ nên được bao gồm cho mục đích so sánh và nên được loại bỏ nếu ý định là tạo một mô hình dự đoán thực tế.Các thuộc tính khác:

: số lần liên lạc thực hiện trong chiến dịch này và đối với khách hàng này (số, bao gồm cả liên lạc cuối cùng)

: số ngày đã trôi qua kể từ khi khách hàng được liên lạc cuối cùng từ chiến dịch trước đó (số; 999 có nghĩa là khách hàng chưa được liên lạc trước đó)

– số lần liên lạc thực hiện trước chiến dịch này và đối với khách hàng này (số)

: kết quả của chiến dịch tiếp thị trước đó (phân loại:

Các thuộc tính về ngữ cảnh xã hội và kinh tế

: tỷ lệ biến động việc làm chỉ số theo quý (số)

: chỉ số giá tiêu dùng chỉ số hàng tháng (số)

: chỉ số tin cậy của người tiêu dùng chỉ số hàng tháng (số)

Trang 14

10

: tỷ lệ euribor 3 tháng chỉ số hàng ngày (số)

: số lượng nhân viên chỉ số theo quý (số)

Biến đầu ra (mục tiêu mong muốn):

Khách hàng đã đăng ký một khoản tiết kiệm không? (Nhị phân: "yes","no")

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

Import thư viện

Sử dụng các lệnh import để đưa vào chương trình các thư viện cần thiết, bao gồm Pandas (đối với xử lý dữ liệu), NumPy (đối với tính toán số học), Matplotlib và Seaborn (đối với trực quan hóa dữ liệu), cũng như một số phần của Scikit learn (đối với tiền xử

Thống kê mô tả tập dữ liệu trong google colab

Đọc dữ liệu vào DataFrame

Hiển thị một số dòng đầu tiên của DataFrame:

Trang 15

11

Sử dụng df.head() để xem một số dòng đầu tiên của DataFrame

Hình 2.3 Hiển thị mộ ố dòng đầu tiên của DataFrame t s

Thống kê mô tả:

Sử dụng df.describe() để xem các thống kê mô tả như mean, min, max, và các phần

Hình 2.4 Mô t ả dữ liệu.

Thông tin về dữ liệu:

Sử dụng df.info() để xem thông tin về dữ liệu, bao gồm số lượng giá trị không thiếu

và loại dữ liệu của từng cột

Trang 16

12

Hình 2.5 Thông tin về dữ liệu.

Kiểm tra dữ liệu bị thiếu

Hình 2.6 ểm tra dữ ệu bị Ki li thiếu.

Khi kiểm tra, nhóm không phát hiện biến có dữ liệu bị thiếu

2.1.2 Trực quan hóa dữ liệu

Vẽ các biểu đồ và đ th ồ ị để hiểu rõ hơn về phân phố ủa các biế i c n.

Biểu đồ phân phối tuổi (Age)

Trang 17

13

Hình 2.7 ểu đồ phân phố Bi i tu ổi (Age).

Biểu đồ phân phối số lần liên lạc (Campaign)

Hình 2.8 ểu đồ phân phố ố lần liên lạc (Campaign) Bi i s

Biểu đồ phân phối số ngày từ cuộc gọi trước đó (Pdays)

Trang 18

14

Hình 2.9 ểu đồ phân phố ố ngày từ Bi i s cuộc gọi trư ớc đó (Pdays).

Hình 2.10 ểu đồ phân phố ố ngày từ ộc gọ Bi i s cu i trư ớc đó (Pdays).

Biểu đồ phân phối biến mục tiêu (Y)

Hình 2.11 Biểu đồ phân phố i bi ến mục tiêu (Y).

Trang 19

15

Nhận xét: Tỷ lệ giữa các giá trị mục tiêu là no và yes là 2:1 Điều này cho thấy rằng biến mục tiêu (Y) có phân phối lệch về phía giá trị no Số lượng các khách hàng có giá trị mục tiêu là yes tương đối ít Điều này cho thấy rằng chỉ có một số lượng nhỏ các khách hàng trong tập dữ liệu là những khách hàng tiềm năng có khả năng mua

Phân tích mối quan hệ giữa các biến để tìm ra các xu hướng và mẫu.

Phân tích mối quan hệ giữa tuổi và số lần liên lạc

Hình 2.12 ểu đồ mối liên hệ giữa Age và Camppaign Bi

Nhận xét:

Phân tích mối quan hệ giữa tuổi và số lần liên lạc

Biểu đồ phân tán giữa tuổi và số lần liên lạc của khách hàng trong tập dữ liệu cho thấy mối quan hệ không tuyến tính Số lần liên lạc có xu hướng tăng khi tuổi tăng, nhưng tốc độ tăng trưởng giảm dần khi tuổi cao hơn Cụ thể, khách hàng ở độ

Trang 20

16

tuổi 20 30 có khoảng 20 lần liên lạc trung bình, trong khi khách hàng ở độ tuổi 30

40 tăng lên khoảng 25 lần Đối với khách hàng ở độ tuổi 40 50, số lần liên lạc tăng lên khoảng 30 lần, nhưng cho các khách hàng trên 50 tuổi, tăng chỉ khoảng 35 lần

Có thể giải thích điều này bằng nhiều yếu tố như sự rảnh rỗi của khách hàng trẻ hoặc nhu cầu sản phẩm và dịch vụ của khách hàng lớn tuổi

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)

Hình 2.13 ểu đồ mối liên hệ giữa nghề nghiệp của Khách hàng (job) với việc đăng Bi

ký tài khoản tiế t ki ệm (Y).

2.1.3 Mô hình hóa dữ liệu:

Chia tập dữ liệu thành tập huấn luyện và tập kiểm tra

Trang 21

17

Hình 2.14 Chia t ập Test và tập Train.

ử dụng mô hình Random Forest để dự đoán việc đăng ký khoản tiết kiệm

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.

Đánh giá hiệu suất sử dụng các độ đo như độ chính xác, đồng bộ, và F1 score

Ngày đăng: 03/03/2024, 09:53

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w