Tập dữ liệu của thuật toán Naive Bayes

Một phần của tài liệu Dự đoán khả năng gửi tiền của khách hàng cá nhân qua telemarketing tại NH với thuật toán phân lớp naive bayes và c4 5 072 (Trang 45)

Thuộc tính(A) InfOA (D) Gain A SpilitInfo (A) GainRatio (A) TT HON NHAN 0.693 0.225 1.457 0.154 HOC VAN 0,800 0.180 1.876 0.063 SO DU 0.667 0.251 1.566 0.160

Chúng ta xây dựng cây quyết định với dữ liệu mẫu trên như sau: Trước tiên nút lá được khởi tạo gồm các mẫu từ 1 tới 15

Đầu tiên chúng ta tính Entropy cho tồn bộ tập huấn luyện D gồm: 5 bộ {5, 7, 8, 10, 14} có giá trị thuộc tính nhãn là “CO” và 10 bộ {1, 2, 3, 4, 6, 9, 11, 12, 13, 15} có giá trị thuộc tính nhãn là “KHONG”. Do đó

-51 5 10, 10

Entropy (D) = Info(D) = 77log277 -2E log^7 = 0, 918

pp no ' 15 2 15 15 2 15 ,

Tính IG cho từng thuộc tính:

Thuộc tính “TUOI” có 3 giá trị là “ ≤ 35”, “ ≥ 50” và “36-49”. Căn cứ vào bảng dữ liệu ta thấy:

• Với giá trị “ ≤ 35” có 5 bộ {1, 2, 4, 6, 15} có giá trị thuộc tính nhãn là “KHONG” và 1 bộ {10} có giá trị thuộc tính nhãn là “CO”.

• Với giá trị “ ≥ 50” có 2 bộ {3, 11} có giá trị thuộc tính nhãn là “KHONG” và 3 bộ {5, 7,

14} có giá trị thuộc tính nhãn là “CO”.

• Với giá trị “36-49” có 3 bộ {9, 12, 13} có giá trị thuộc tính nhãn là “KHONG” và 1 bộ {8} có giá trị thuộc tính nhãn là “CO”.

3 IDJ

l≠> InfoTUOI(D) = /•Info(DJ)

6.-1. 5u, 3_3.„„ E-1.„„

= — (~rlog2 - --log2 -)+—(—log, ---log2 -)+—(—log, ---log2 -)

1 ⅛ v /2 ζ~}2 £ S' c72^7 t "λ2 C Cc72^7 t "λ2 A A c72 /I 2 15 6 66 6 15 15 55 5 15 4 44 4 = 0∙8

■=> Gain (TUOI) = Info(D) - Info TUOi(D) = 0∙918 - 0∙8 = 0∙118

Tiếp theo, tính giá trị GainRatio cho từng thuộc tính

_ „ ,∙.τ r ST.' - DL Có: SplitInfo A (D) = -∑r⅛og2∏^ j=1 IDI IDI '> SplitInfo

TUOI(D) = -Ệ- log2 77 - ɪ log2 ɪ -~∑ log2 ʌ = 1.566

15 2 15 15 2 15 15 215

ʌ r.„i„tD„iM/Tỉĩrm - Gain(TUOI) _ 0∙118 _

Dr GaintRaito(TUOI) = ——ʌ-= _ = 0∙075

Nguyễn Thị Hương - 19A4040076 Page | 29

NHA 0.859 0.059 0.971 0.061 NO 0.784 0.134 0.722 0.186 TG LLC 0.669 0.249 1.371 0.182 SLLH 0.868 0.050 0.906 0.055 NGAY LLGD 0.781 0.137 1.242 0.110 KQCD TRUOC 0.673 0.245 1.533 0.160

Từ giá trị GainRatio của các thuộc tính, ta thấy thuộc tính “NO” có GainRaito = 0.186

là lớn nhất nên sẽ được chọn là thuộc tính phân chia. Ta chọn “NO” làm nút gốc, hai nhánh

được tạo ra lần lượt với tên là “CO” và “KHONG”. Hơn nữa nhánh “CO” có các mẫu {3, 6, 15} cũng thuộc lớp “KHONG” nên nút lá được tạo ra với nhãn là “KHONG”. Chúng ta có kết quả phân chia cây quyết định như sau:

Hình 12. Cây quyết định cho sau khi chọn thuộc tính NO

Thuộc tính(A) Info (D1) GainA SpilitInfo(A) GainRatio(A)

TT HON NHAN 0.730 0.250 1.500 0.167

Khóa luận tốt nghiệp________________________________________________________

Bước tiếp theo gọi thuật toán C4.5 (D1, C-{NO}, {d})

Tương tự, để tìm điểm chia tốt nhất tại thuật tốn này, ta phải tính tốn chỉ số GainRaito

cho 9 thuộc tính cịn lại (trừ thuộc tính NO).

Đầu tiên, chúng ta tính Entropy tồn bộ tập huấn luyện D1 gồm 7 bộ {1, 2, 4, 9, 11, 12,

13} có giá trị thuộc tính nhãn là “KHONG” và 5 bộ {5, 7, 8, 10, 14} có giá trị thuộc tính nhãn là “CO”. Do đó:

-71. 7 5

Entropy (D1) = Info(D1) = — log; —-J-l∙ ' 1 j ỵ 1 12 2 12 l°g2-⅛ = 0.98012 2 12

Tính IG cho thuộc tính:

Thuộc tính “TUOI” có 3 giá trị là “ ≥ 50”; “ < 35” và “36-49”. Nhìn vào bảng dữ liệu ta thấy:

• Với giá trị “ < 35” có 3 bộ {1, 2, 4} có giá trị thuộc tính nhãn là “KHONG” và 1 bộ {10} có giá trị thuộc tính nhãn là “CO”.

• Với giá trị “ ≥ 50” có 1 bộ {11} có giá trị thuộc tính nhãn là “KHONG” và 3 bộ {5, 7, 14} có giá trị thuộc tính nhãn là “CO”.

• Với giá trị “36-49” có 3 bộ {9, 12, 13} có giá trị thuộc tính nhãn là “KHONG” và 1 bộ {8} có giá trị thuộc tính nhãn là “CO”.

3 IDJ

D Infoτuoι(D) = X^∣yj∣^.Info(Dl)

4 z-1. 1 3. 3 4 -3, 3 1. T 4 -1, 1 3. 3

l,A1 ɪ -zl -Z \ . 1 Z -Z 1 -Z ɪ 1 ɪ \ 1 Z ɪ 1 ɪ -Z 1

-Z \ z"\ 1 1

= ⅛(-2log24 . log24) + ττH-lθgDτ . log2τ)+ ⅛(--log2-- . log2H = 0.811

12 4 44 4 12 4 44 4 12 4 44 4

c> Gain (TUOI)= Info(D1) - Info τuoι(D1) = 0.980 - 0.811 = 0.169

Tính giá trị Gain Raito cho từng thuộc tính

, o j.,τ „ V DJ IDJ

Có: SplitInfo

A(D) = -£ Cj. logΛj

j=1 IDI IDI

4 4 4 4 4 4

φ SvlitInfθ^r^r(D)= -~logo —-— logo TT-— logo TT = 1585

no .

Khóa luận tốt nghiệp

NHA 0.908 0.072 0.980 0.073

TG LLC 0.784 0.196 1.500 0.131

SLLH 0.976 0.004 0.650 0.006

NGAY LLGD 0.833 0.147 1.252 0.117

Bảng 3. Bảng tính GainRatio của các 8 thuộc tính

|=> Nhìn vào bảng, ta thấy thuộc tính “TT HON NHAN” là thuộc tính có GainRaito =

0.167 là lớn nhất nên sẽ được chọn là thuộc tính phân chia. Do đó, thuộc tính “TT HON NHAN” được chọn làm nhãn cho nút bên phải nối với nhãn “KHONG”. Trong D1, thuộc tính này có 3 giá trị là “KET HON”, “DỌC THAN” và “LY DI” nên tạo thành 3 nhãn mới là KET HON, DOC THAN và LY DI.

• Với nhánh KET HON gồm 3 mẫu {1, 11, 13} có giá trị thuộc tính nhãn là “KHONG” và 3 mẫu {7, 10, 14} có giá trị thuộc tính nhãn là “CO”.

• Với nhánh DOC THAN gồm 3 mẫu {2, 4, 9} có giá trị thuộc tính nhãn là “KHONG” nên tạo thành nút lá với nhãn là “KHONG”

• Với nhánh LY DI gồm 2 mẫu {5, 8} có giá trị thuộc tính nhãn là “CO” và 1 mẫu {12} có giá trị là “KHONG”

Chúng ta xây dựng được cây quyết định mới như sau:

Hình 13. Cây quyết định sau khi chọn thuộc tính HON NHAN

Thuật toán C4.5 với tập C4.5 (D3, C-{HONNHAN}, {d})

Với tập D3 gồm 3 bộ {5, 8, 12} thì 2 bộ {5, 8} có giá trị thuộc tính nhãn là “CO” và 1 bộ {12} có giá trị thuộc tính nhãn là “KHONG” nên ta quyết định chọn giá trị “CO” là nhãn của nhánh “LY DI”. Ta có cây quyết định mới như sau:

Tương tự với 7 thuộc tính cịn lại chúng ta thu được bảng sau:

Thuộc tính(A) InfoA(D2) GainA SpilitInfo(A) GainRatio(A)

HOC VAN 0.459 0.541 1.792 0.302 SO DU 0.667 0.333 1.252 0.266 NHA 1 0 0.918 0 TG LLC 0.541 0.459 0.918 0.500 SLLH 0.809 0.191 0.650 0.294 NGAY LLGD 0.667 0.333 1.252 0.266 KQCD TRUOC 0.333 0.667 1.918 0.348

Khóa luận tốt nghiệp

Hình 14. Cây quyết định sau khi thực hiện nhánh LY DI

Bước tiếp theo gọi thuật tốn C4.5: C4.5 (D2, C-{HONNHAN}, {d})

Tương tự để tìm điểm chia tốt nhất tại thuật tốn này, ta phải tính chỉ số GainRaito cho

8 thuộc tính cịn lại (trừ thuộc tính HON NHAN và NO)

Đầu tiên, chúng ta tính Entropy tồn bộ tập huấn luyện D2 gồm 3 bộ {1, 11, 13} có giá trị thuộc tính nhãn là “KHONG” và 3 bộ {7, 10, 14} có giá trị thuộc tính nhãn là “CO”. Do

đó: -3, 3 3, 3

Entropy (D2) = Info(D1) = 77log2T -~L log27 = 1

6 6 6 6

Tính IG cho từng thuộc tính:

Thuộc tính “TUOI” có 3 giá trị là “ ≥ 50”; “ ≤ 35” và “36-49”. Quan sát bảng dữ liệu, ta thấy:

• Với giá trị “ ≤ 35” có 1 bộ {1} có giá trị thuộc tính nhãn là “KHONG” và 1 bộ {10} có giá trị thuộc tính nhãn là “CO”.

• Với giá trị “ ≥ 50” có 1 bộ {11} có giá trị thuộc tính nhãn là “KHONG” và 2 bộ {7, 14}

có giá trị thuộc tính nhãn là “CO”.

• Với giá trị “36-49” có 1 bộ {13} có giá trị thuộc tính nhãn là “KHONG” Khóa luận tốt nghiệp

3 D

ɪ=^ InfoTUOi(D) = ɪ ^μ∑ψ∙lnf°(Dj)

2-1 1 1 1 3-2 2 1 1 1 O 0 1 1

= -(—l0g2---l0g-) + -(—l0g---- l0g-) + -(--lOg---l0g-) = 0.792

62 22 263 33 361 11 1

l=> Gainτu01(D2) = Info(D2) - Info TUOI(D2) = 1 - 0.792 = 0∙208

Tính giá trị Gain Raito cho từng thuộc tính

_ o j.,τ „ V ID D,| Có: SphtInfod(D)= -∑ J∙log2 4 J=1 D DI 2. 2 3, 3 1, 1 φ SpUtlnfojUOI (Df = --, ⅛7--l0g2z -7 ll0' 1.460 6 6 6 6 6 6 GainTUOI _ 0.208 c∙> GainRaitoτuoI(D2) = ______ = = 0.142 SpilitInfoTUOI (D) 1.460

0,500 là lớn nhất nên sẽ được chọn là thuộc tính phân chia. Do đó, thuộc tính “TG LLC” được chọn làm nhãn ch0 nút bên phải nối với nhãn “KET HON”. Trong D2, thuộc tính này có 2 giá trị là “IT” và “TRUNG BINH” nên sẽ tạ0 thành 2 nhánh mới là “IT” và “TRUNG BINH”. Hơn nữa, nhánh “TRUNG BINH” có các mẫu {10, 14} cùng thuộc lớp “CO” nên nút lá được tạ0 ra với nhãn là “CO”.

Khóa luận tốt nghiệp

Chúng ta được cây quyết định phân chia như sau:

Hình 15. Cây quyết định sau khi chọn thuộc tính TG LLC

Thuật toán C4.5 với tập C4.5 (D3, C-{HONNHAN}, {d})

Với tập D4 gồm 4 bộ {1, 7, 11, 13} thì 3 bộ {1, 11, 13} có giá trị thuộc tính nhãn là “KHONG” và 1 bộ {7} có giá trị thuộc tính nhãn là “CO” nên ta quyết định chọn giá trị “KHONG” là nhãn của nhánh “IT”. Ta có cây quyết định mới như sau:

Hình 16. Cây quyết định kết quả

2.3.2. Thuật toán Naive Bayes

2.3.2.1. Lý thuyết về Naive Bayes

Bộ phân lớp Bayes là một giải thuật thuốc lớp giải thuật phân lớp thống kê, nó có thể dự đốn xác xuất của một phần tử dữ liệu thuộc vào một lớp là bao nhiêu. Phân lớp Bayes được dựa trên định lý Bayes (định lý được đặt theo tên giác giả của nó là Thomas Bayes). Trích Wikipedia “Định lý Bayes là một kết quả của lý thuyết xác suất, nó đề cập đến phân bố có điều kiện của biến ngẫu nhiên A với giả thiết: thông tin về một biến khác B: phân bố xác suất có điều kiện của B khi biết A và phân bố xác suất của một mình A”.

a. Định lý Bayes:

Gọi X là một chứng cứ (trong bài tốn phân lớp thì X sẽ là một phần tử dữ liệu), H là một giả thiết nào đó để cho X thuộc một lớp C nào đó. Trong bài tốn phân lớp, chúng ta muốn xác định giá trị P (H |X) là xác suất để giả thiết H là đúng với chứng cứ X thuộc vào

Khóa luận tốt nghiệp________________________________________________________ lớp C với điều kiện ta biết các thông tin mô tả X. P (H |X) là một xác suất hậu nghiệm của H với điều kiện

Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P(A|B), và đọc là “xác suất của A

nếu có B”. Đại lượng này được gọi xác suất có điều kiện hay xác suất hậu nghiệm vì nó được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đó.

Định lý Bayes sẽ giúp ta tính ra xác suất xảy ra của một giả thuyết bằng cách thu thập các bằng chứng nhất quán hoặc không nhất quán với một giả thuyết nào đó. Khi các bằng chứng tích lũy, mức độ tin tưởng vào một giả thuyết thay đổi. Khi có đủ bằng chứng, mức độ tin tưởng này thường trở nên rất cao hoặc rất thấp, tức là xác xuất sảy ra giả thuyết sẽ thay đổi thì các bằng chứng liên quan đến nó thay đổi.

Cơng thức của định luật Bayes được phát biểu như sau:

P (B| A) x P (A)

P (A| B) = P (B)ɪ

Trong đó

• P(A|B) là xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra.

• P(B|A) là xác suất xảy ra B khi biết A xảy ra

• P(A) là xác suất xảy ra của riêng A mà không quan tâm đến B. • P(B) là xác suất xảy ra của riêng B mà không quan tâm đến A. b. Phân lớp Naive Bayes

Naive Bayes Classification (NBC) là một thuật toán dựa trên định lý Bayes tính tốn xác suất. Dựa vào những dữ liệu đã được thống kê và quan sát để có thể đưa ra dự đốn hoặc phân loại dữ liệu. Trong các thuật toán được sử dụng trong lĩnh vực Marchine learning, có lẽ Naive Bayes Classification được ứng dụng nhiều hơn cả. NBC được u thích bởi số đơng vì độ dễ hiểu và độ chính xác cao với những dự đốn trên tập dữ liệu đã thu thập được. NBC thuộc nhóm Supervised Machine Learning Algorithms (thuật tốn học

có hướng dẫn), tức là cho phép hệ thống học tự động từ những ví dụ về mẫu dữ liệu đã có để giải quyết những vấn đề cụ thể.

1. Gọi D là tập dữ liệu huấn luyện, trong đó mỗi phần tử dữ liệu X được biểu diễn bằng một vector chứa n giá trị thuộc tính A1, A2,...,An,X = {xι,X2,...,Xn}

2. Giả sử có m lớp C1, C2...Cm. Cho một phần tử dữ liệu X, bộ phân lớp sẽ gán nhãn cho X là lớp có xác suất hậu nghiệm lớn nhất. Cụ thể, bộ phân lớp Bayes sẽ dự đoán X thuộc vào lớp Ci nếu và chỉ nếu:

ST

T ITUO HONNHANTT HOC VAN SO DU NHA NO TG LLC SLLH NGAY LLGD KQCD TRUOC QUYET DINH

1 <=35 KET HON THCS CAO KHONG KHONG IT IT GAN KHONG RO KHONG

2 <=35 DOC THAN DAI HOC TRUNG BINH CO KHONG IT IT XA THAT BAI KHONG

3 >=50 KET HON THCS CAO KHONG CO IT NHIEU GAN KHONG RO KHONG

4 <=35 DOC THAN DAI HOC TRUNG BINH KHONG KHONG IT IT TRUNG BINH THAT BAI KHONG

5 >=50 LY DI THPT CAO KHONG KHONG NHIEU IT GAN KHONG RO CO

6 <=35 DOC THAN THCS THAP CO CO IT IT GAN KHONG RO KHONG

7 >=50 KET HON KHONG RO CAO CO KHONG IT IT GAN THANH CONG CO

8 36-49 LY DI THCS TRUNG BINH KHONG KHONG NHIEU TRUNG BINH GAN KHONG RO CO

9 36-49 DOC THAN THPT THAP CO KHONG NHIEU IT GAN KHONG RO KHONG

10 <= 35 KET HON DAI HOC CAO CO KHONG TRUNG BINH IT GAN KHAC CO

11 >=50 KET HON THPT CAO CO KHONG IT TRUNG BINH GAN KHONG RO KHONG

P(Ci) > P(CX j) (1< = i, j <=m, i ≠ j)X Giá trị này sẽ tính dựa trên định lý Bayes.

p.^i p ( i - pu - P{Ci∖X) - P(X)

3. Để tìm xác suất lớn nhất, ta nhận thấy các giá trị P(X) là giống nhau với mọi lớp nên

khơng cần tính. Do đó ta chỉ cần tìm giá trị lớn nhất của P(XC1 .z Di∖∖ l , _ j. ., , 1.,i) * P(Ci). Trong đó, P(Ci) được ước lượng bãng y^p, trong đó Di là tập các phần tử dữ liệu thuộc lớp Ci. Nếu xác suất tiền nghiệm P(Ci) cũng khơng xác định được thì ta coi chúng bãng nhau P(C1) = P(C2) = ... = P(Cm), khi đó ta chỉ cần tìm giá trị P(XCi) lớn nhất.

4 Khi số lượng các thuộc tính mơ tả dữ liệu là lớn thì chi phí tính tồn P(XCi) là rất lớn, dó đó có thể giảm độ phức tạp, giải thuật Naive Bayes giả thiết các thuộc tính độc lập nhau. Khi đó ta có thể tính: P(XCi) = P(xιCi)...P(xnCi)

Trong q trình tính tốn, ta có thể gặp trường hợp P(XkCi) = 0. Để tránh trường

hợp

này xảy ra, chúng ta có thể sử dụng cơng thức ước lượng Laplace (Laplace estimator), cơng

thức Laplace có rất nhiều dạng tùy thuộc vào các bài toán khác nhau, trong trường hợp cụ thể này ta có thể sử dụng cơng thức:

P(XkCi) =1 +| Di | +m |D k l

Trong đó, m là số lượng lớp ta có thể nhận thấy ở tử số đã được cộng thêm giá trị 1 nên nó sẽ tránh được trường hợp P(XkCi) = 0.

Nguyễn Thị Hương - 19A4040076 Page | 39

2.3.2.2. Ví dụ thuật tốn Naive Bayes

12 36-49 LY DI DAI HOC THAP CO KHONG TRUNG BINH IT GAN KHONG RO KHONG

13 36-49 KET HON THPT THAP CO KHONG IT IT TRUNG BINH THAT BAI KHONG

14 >=50 KET HON THPT TRUNG BINH KHONG KHONG TRUNG BINH IT XA THAT BAI CO

P (TUOI = “ ≥ 50” /CCÓ) = 3/5 = 0.6 P (TUOI = “ ≥ 50” /CKHÔNG) = 1/10 = 0.1 P(TUOI = “ 36-49” /CCÓ) = 1/5 = 0.2 P (TUOI = “ 36-49” /CKHÔNG)= 3/10 = 0.3

P ( TT HƠN NHÂN = KET HON /CCĨ) = 3/5 =

0.6 P(TT

HÔNNHÂN = KET HON /CKHÔNG) = 5/10 = 0.5

P (TT HƠNNHÂN = DOC THAN /CCĨ) = 0/5

= 0 P (TT

HÔNNHÂN = DOC THAN /CKHÔNG) = 4/10 = 0.4

P (TT HƠN NHÂN = LY DI /CCĨ) = 2/5 = 0.4 P (TT HÔN NHÂN = LY DI /CKHÔNG) = 1/10 = 0.1

P (HOC VAN = THCS /CCÓ) = 1/5 = 0.2 P (HOC VAN = THCS /CKHÔNG)= 3/10 = 0.3 P (HOCVAN = THPT /CCÓ) = 2/5 = 0.4 P (HOC VAN = THPT /CKHÔNG) = 4/10 = 0.4

P (HOC VAN = DAI HOC /CCÓ) = 1/5 = 0.2 P (HOC VAN = DAI HOC /CKHÔNG) = 3/10 = 0.3 P (HOC VAN = KHONG RO /CCÓ) = 1/5 =

0.2 P (HOC VAN = KHONG RO /CKHÔNG) = 0/10 = 0

Bảng 5. Tập dữ liệu của thuật toán Naive Bayes

Một phần của tài liệu Dự đoán khả năng gửi tiền của khách hàng cá nhân qua telemarketing tại NH với thuật toán phân lớp naive bayes và c4 5 072 (Trang 45)

Tải bản đầy đủ (DOCX)

(92 trang)
w