Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Nhan Nguyen Blog Tags Archive About

Software Engineer

Bài tập xây dựng cây quyết định sử dụng thuật


toán ID3
2017-08-11

data mining

     

Content:

Bài toán

Sử dụng thuật toán ID3, xây dựng cây quyết định cho tập dữ liệu huấn luyện sau:

Day Outlook Temp Humidity Wind PlayTennis

1 Sunny Hot High Weak No

2 Sunny Hot High Strong No

3 Overcast Hot High Weak Yes

4 Rain Mild High Weak Yes

5 Rain Cool Normal Weak Yes

6 Rain Cool Normal Strong No

7 Overcast Cool Normal Strong Yes

8 Sunny Mild High Weak No

9 Sunny Cool Normal Weak Yes

10 Rain Mild Normal Weak Yes

11 Sunny Mild Normal Strong Yes

12 Overcast Mild High Strong Yes

13 Overcast Hot Normal Weak Yes

14 Rain Mild High Strong No

Lời giải

Chọn nút gốc của cây quyết định:


Tập dữ liệu hiện tại có 9 kết quả Yes và 5 kết quả No, ta kí hiệu là S: [9+, 5−].

Theo công thức tính Entropy (độ hỗn tạp dữ liệu) của một tập:

Entropy(S ) = −p ⊕ log2 p ⊕ − p ⊖ log2 p ⊖

trong đó:

• p⊕ là tỷ lệ các mẫu thuộc lớp dương trong S.

• p⊖ là tỷ lệ các mẫu thuộc lớp âm trong S.

Tổng quát, nếu có c lớp trong tập S:

Entropy(S ) = ∑ −p i log2 p i

i=1

Vậy:

9 9 5 5
Entropy(S ) = Entropy([9+, 5−]) = − log2 − log2 = 0.94
14 14 14 14

Lưu ý:

• Entropy là 0 nếu tất cả các thành viên của S đều thuộc về cùng một lớp.

• Entropy là 1 nếu tập hợp chứa số lượng bằng nhau các thành viên thuộc lớp âm và dương.

Xét thuộc tính Outlook , thuộc tính này nhận 3 giá trị là Sunny, Overcast, Rain. Ứng với mỗi thuộc
tính, ta có:

• SSunny: [2+, 3−] (có nghĩa là trong tập dữ liệu hiện tại (S), có 2 kết quả Yes và 3 kết quả No tại
Outlook = Sunny). Tương tự:

• SOvercast: [4+, 0−].

• SRain: [3+, 2−].

Tiếp theo tính Information Gain (độ lợi thông tin) của thuộc tính Outlook trên tập S. Thông số này
phản ánh mức độ hiệu quả của một thuộc tính trong phân lớp. Đó là sự rút giảm mong muốn của
Entropy gây ra bởi sự phân hoạch các mẫu dữ liệu theo thuộc tính này. Công thức tính IG của
thuộc tính A trên tập S như sau:

|S v |
Gain(S , A) = Entropy(S ) − ∑ Entropy(Sv )
|S |
v∈V alue(A)

trong đó:

• Value(A) là tập các giá trị có thể cho thuộc tính A.

• Sv là tập con của S mà A nhận giá trị v.

Lấy ví dụ với thuộc tính A = Outlook , ta có Value(A) = {Sunny, Overcast, Rain}, và SSunny =
[2+, 3−] như đã tính ở trên
Từ công thức, dễ dàng tính được:

|S v |
Gain(S , Outlook) = Entropy([9+, 5−]) − ∑ Entropy(Sv ) = 0.246
14
v∈V alue(Outlook)

Hoàn toàn tương tự, tính được Information Gain cho 3 thuộc tính còn lại:

Gain(S , T emp) = 0.029

Gain(S , H umidity) = 0.152

Gain(S , W ind) = 0.048

Thuộc tính Outlook có Information Gain cao nhất, chọn nó làm nút gốc.

Hình 1. Cây quyết định sau khi chọn nút gốc.

Xây dựng tiếp cây quyết định:

Sau khi chọn được nút gốc là Outlook , tiếp theo ta tính tiếp các nút tại mỗi thuộc tính của nút vừa
chọn. Trong hình 1:

• Nhánh bên trái cùng ứng với Outlook = Sunny , có SSunny là [2+, 3−], chưa phân lớp hoàn
toàn nên vẫn phải tính toán chọn nút tại đây. Tương tự cho nhánh phải cùng.

• Nhánh ở giữa ứng với Outlook = Overcast , tập dữ liệu tại nhánh này đã hoàn toàn phân lớp
dương với 4+ và 0-. Tại đây đã có thể quyết định, khi Outlook = Overcast thì có thể đi chơi
tennis.
Bây giờ ta sẽ thực hiện tính toán với nhánh trái cùng, trên tập SSunny = [2+, 3−].

Hoàn toàn tương tự như cách tìm nút gốc, ta tính Information Gain cho 3 thuộc tính còn lại là
Temp , Humidity và Wind (trên tập S ).
Sunny

Xét thuộc tính Humidity , có:


• SNormal: [2+, 0−] (nghĩa là tại những dữ liệu có Outlook = Overcast và Humidity =
Normal , có 2 dữ liệu, tất cả đều cho kết quả Yes).

• SHigh: [0, 3−].

Từ đó:

|S v |
Gain(SSunny , H umidity) = Entropy([2+, 3−]) − ∑ Entropy(Sv ) = 0.9
5
v∈V alue(H umidity)

Tương tự:

Gain(SSunny , T emp) = 0.571

Gain(SSunny , W ind) = 0.019

Nhận thấy thuộc tính Humidity có Information Gain cao nhất, chọn thuộc tính này làm nút cho
nhánh trái cùng.

Hình 2. Cây quyết định sau khi chọn nút cho nhánh trái cùng.

Cây quyết định hoàn chỉnh:

Làm tương tự cho nút tại nhánh phải ngoài (đến khi tất cả các nút lá của cây đều đã phân lớp), ta
được cây quyết định hoàn chỉnh như sau:
Hình 3. Cây quyết định hoàn chỉnh.

« Bài tập tiền xử lý dữ liệu Bài tập phân lớp sử dụng Naive Bayes »

1 Comment 
1 Login

Join the discussion…

LOG IN WITH OR SIGN UP WITH DISQUS ?

Name

 5 Share Best Newest Oldest

Dương Quang Nhất − ⚑


5 months ago

Hay

0 0 Reply ⥅

Subscribe Privacy Do Not Sell My Data


© 2019 Nhan Nguyen Blog

You might also like