You are on page 1of 29

Đʈnh nghĩa cây quyɼt đʈnh

á Cây quyɼt đʈnh là m͙t kiʀu mô hình dͱ báo


á K͹ thuɪt h͍c máy dùng trong cây quyɼt đʈnh
đưͣc g͍i là h͍c bɮng cây quyɼt đʈnh, hay chʆ
g͍i v͛i cái tên ngɬn g͍n là cây quyɼt đʈnh
á Phương tiʄn có tính mô tɠ dành cho viʄc tính
toán các xác suɢt có điɾu kiʄn
á Sͱ kɼt hͣp cͧa các k͹ thuɪt toán h͍c và tính
toán nhɮm h͗ trͣ viʄc mô tɠ, phân loɞi và
t͕ng quát hóa m͙t tɪp dͯ liʄu cho trư͛c
Đʈnh nghĩa cây quyɼt đʈnh
á Cây quyɼt đʈnh là m͙t cɢu trúc phân cɢp
cͧa các nút và các nhánh
3 loɞi nút trên cây:
á Nút g͑c
á Nút n͙i b͙: mang tên thu͙c tính cͧa CSDL
á Nút lá: mang tên l͛p Cj
Nhánh: mang giá trʈ có thʀ cͧa thu͙c tính
á Cây quyɼt đʈnh đưͣc sͭ dͥng trong phân
l͛p bɮng cách duyʄt tͫ nút g͑c cͧa cây cho
đɼn khi đͥng đɼn nút lá, tͫ đó rút ra l͛p
cͧa đ͑i tưͣng cɤn xét
´í dͥ
David là quɠn lý cͧa m͙t câu lɞc b͙ đánh golf n͕i tiɼng.
Anh ta đang có rɬc r͑i chuyʄn các thành viên đɼn hay không
đɼn. Có ngày ai cũng mu͑n chơi golf nhưng s͑ nhân viên
câu lɞc b͙ lɞi không đͧ phͥc vͥ. Có hôm, không hiʀu vì lý
do gì mà chɰng ai đɼn chơi, và câu lɞc b͙ lɞi thͫa nhân viên.
Mͥc tiêu cͧa David là t͑i ưu hóa s͑ nhân viên phͥc vͥ
m͗i ngày bɮng cách dͱa theo thông tin dͱ báo th͝i tiɼt đʀ
đoán xem khi nào ngư͝i ta sɺ đɼn chơi golf. Đʀ thͱc hiʄn
điɾu đó, anh cɤn hiʀu đưͣc tɞi sao khách hàng quyɼt đʈnh
chơi và tìm hiʀu xem có cách giɠi thích nào cho viʄc đó hay
không.
´ɪy là trong hai tuɤn, anh ta thu thɪp thông tin vɾ: Tr͝i
(outlook) (nɬng (sunny), nhiɾu mây (overcast) hoɴc mưa
(raining)). Nhiʄt đ͙ (temperature) bɮng đ͙ F. Đ͙ ɦm
(humidity). Có gió mɞnh (wind) hay không.
´à tɢt nhiên là s͑ ngư͝i đɼn chơi golf vào hôm đó. David
thu đưͣc m͙t b͙ dͯ liʄu g͓m 14 dòng và 5 c͙t.
´í dͥ
Õ   

   
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 No
6 Rain Cool Normal Strong Yes
7 Overcast Cool Normal Weak No
8 Sunny Mild High Weak Yes
9 Sunny Cold Normal Weak Yes
10 Rain Mild Normal Strong 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
´í dͥ
Kiʀm tra khi nào chơi golf, khi nào không chơi

Outlook

Sunny Overcast Rain

Humidity Yes Wind

High Normal Strong Weak

No Yes No Yes
´í dͥ
Kiʀm tra khi nào chơi golf, khi nào không chơi

Outlook

Sunny Overcast Rain

Humidity M͗i nút mang m͙t thu͙c tính


(biɼn đ͙c lɪp)

High Normal M͗i nhánh tương ͩng v͛i m͙t


giá trʈ cͧa thu͙c tính
No Yes M͗i nút lá là m͙t l͛p (biɼn
phͥ thu͙c)
Duyʄt cây quyɼt đʈnh
Õ   

   
1 Sunny Hot High Weak No

Outlook

Sunny Overcast Rain

Humidity Yes Wind

High Normal Strong Weak

No Yes No Yes
”iʀu thͩc luɪn lý
Outlook=Sunny Ù Wind=Weak

Outlook Ù = AND = và
= OR = hoɴc

Sunny Overcast Rain

Wind No No

Strong Weak

No Yes
”iʀu thͩc luɪn lý
Outlook=Sunny Wind=Weak

Outlook

Sunny Overcast Rain

Yes Wind Wind

Strong Weak Strong Weak

No Yes No Yes
”iʀu thͩc luɪn lý
(Outlook=Sunny Ù Humidity=Normal)
Outlook=Overcast
(Outlook=Rain Ù Wind=Weak)

Outlook

Sunny Overcast Rain

Humidity Yes Wind

High Normal Strong Weak

No Yes No Yes
ây dͱng cây quyɼt đʈnh
á Cây đưͣc thiɼt lɪp tͫ trên xu͑ng dư͛i
á R͝i rɞc hóa các thu͙c tính dɞng phi s͑
á Các mɨu huɢn luyʄn nɮm ͟ g͑c cͧa cây
á Ch͍n m͙t thu͙c tính đʀ phân chia thành
các nhánh. Thu͙c tính đưͣc ch͍n dͱa trên
đ͙ đo th͑ng kê hoɴc đ͙ đo heuristic
á Tiɼp tͥc lɴp lɞi viʄc xây dͱng cây quyɼt
đʈnh cho các nhánh
ây dͱng cây quyɼt đʈnh
á Điɾu kiʄn dͫng
Tɢt cɠ các mɨu rơi vào m͙t nút thu͙c vɾ
cùng m͙t l͛p (nút lá)
Không còn thu͙c tính nào có thʀ dùng đʀ
phân chia mɨu nͯa
Không còn lɞi mɨu nào tɞi nút
Lͱa ch͍n thu͙c tính
á Đ͙ đo đʀ lͱa ch͍n thu͙c tính: Thu͙c tính
đưͣc ch͍n là thu͙c tính có lͣi nhɢt cho quá
trình phân l͛p (tɞo ra cây nh͏ nhɢt)
á Có 2 đ͙ đo thư͝ng dùng
1. Đ͙ lͣi thông tin (Information gain)
á Giɠ sͭ tɢt cɠ các thu͙c tính dɞng phi s͑
á Có thʀ biɼn đ͕i đʀ áp dͥng cho thu͙c tính s͑
2. Chʆ s͑ Gini (Gini index)
á Giɠ sͭ tɢt cɠ các thu͙c tính dɞng s͑
á Giɠ sͭ t͓n tɞi m͙t vài giá trʈ có thʀ phân chia giá
trʈ cͧa tͫng thu͙c tính
á Có thʀ biɼn đ͕i đʀ áp dͥng cho thu͙c tính phi s͑
Đ͙ lͣi thông tin
(Information gain)
á S: s͑ lưͣng tɪp huɢn luyʄn
á Sj: s͑ các mɨu cͧa S nɮm trong l͛p Cj
v͛i j = {1, «, m}
á Thông tin cɤn biɼt đʀ phân l͛p m͙t
mɨu

:j :j
: :Ü  :    Ü
j : :
Đ͙ lͣi thông tin
á Thu͙c tính A có các giá trʈ {a1, a2, «,an}
á Dùng thu͙c tính A đʀ phân chia tɪp huɢn luyʄn thành V tɪp
con {S1, S2, «, SV}
á Sj : s͑ mɨu cͧa l͛p Cj thu͙c tɪp con S (A=a)
á Žntropy cͧa thu͙c tính A:
V:    :
 

  :
 :  : 
 

á Đ͙ lͣi thông tin dͱa trên phân nhánh bɮng thu͙c tính A:

    Ü   Ž 
á Tɞi m͗i cɢp, chúng ta ch͍n thu͙c tính có đ͙ lͣi l͛n nhɢt đʀ
phân nhánh cây hiʄn tɞi
´í dͥ
Õ   

   
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 No
6 Rain Cool Normal Strong Yes
7 Overcast Cool Normal Weak No
8 Sunny Mild High Weak Yes
9 Sunny Cold Normal Weak Yes
10 Rain Mild Normal Strong 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 thông tin, ví dͥ
á Ta có
S = 14
m=2
C1 = ³Yes´, C2 = ³No´
S1 = 9, S2 = 5

f f  
  Ü  2 f 2  Ü  Ü 2  f 
Đ͙ lͣi thông tin, ví dͥ
Humidity  
 Ü  Ü 2 f
   
High Normal
 
 Ü  Ü 2 fÜ
[3+, 4-] [6+, 1-]    
   

‘  

±    


Ghi chú: Đʀ tính log25 bɮng máy tính điʄn tͭ, nhɢn: 5 log / 2 log =
Đ͙ lͣi thông tin, ví dͥ
Wind
  Ü Ü
  Ü   Ü 
   
Weak Strong
   
 Ü  Ü 2 
[6+, 2-] [3+, 3-]    
   

‘ 
±    

Đ͙ lͣi thông tin, ví dͥ
Outlook

Sunny Overcast Rain

[2+, 3-] [4+, 0-] [3+, 2-]


     

‘  
‘ 
 !
±  
‘  

±    

Chʆ s͑ Gini
á Chʆ s͑ Gini cͧa nút 2:
Ü
2      2 

Trong đó    2  là tɤn suɢt cͧa l͛p 
trong nút 2
L͛n nhɢt là 1-1/nc khi các mɨu phân b͑
đɾu trên các l͛p
Thɢp nhɢt là 0 khi các mɨu chʆ thu͙c vɾ
m͙t l͛p
´í dͥ chʆ s͑ Gini
Ü
2      2 

C1 0 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1
C2 6 GINI = 1 ± (P(C1)2+P(C2)2) = 1 ± (0+1) = 0

C1 1 P(C1) = 1/6 P(C2) = 5/6


C2 5 GINI = 1 ± (1/6)2 ± (5/6)2 = 0.278

C1 2 P(C1) = 2/6 P(C2) = 4/6


C2 4 GINI = 1 ± (2/6)2 ± (4/6)2 = 0.444
Phân nhánh bɮng chʆ s͑ Gini
á Khi phân chia nút  thành  nhánh, chɢt
lưͣng cͧa phép chia đưͣc tính bɮng:

Vj
 a j 2   j 
j2 V
trong đó
Vj là s͑ mɨu trong nút j
V là s͑ mɨu trong nút 
á Ch͍n thu͙c tính có GINIa j nh͏ nhɢt đʀ
phân nhánh
Phân nhánh thu͙c tính nhʈ phân
á Chʆ phân thành 2 nhánh
A 

C1 6
C2 6
N1 N2
Gini=0.500
Gini(N1) =1-(5/6)2-(2/6)2
=0.194
Ginia j =7/12*0.194
Gini(N2) =1-(1/6)2-(4/6)2 N1 N2 +5/12*0.528
=0.528 =0.333
C1 5 1
C2 2 4
Gini=0.333
Phân chia thu͙c tính có giá trʈ liên tͥc
á Dͱa trên m͙t giá trʈ nɼu Õ         
1 Yes Single 125K
mu͑n phân chia nhʈ phân

2 No Married 100K 
á Dͱa trên vài giá trʈ nɼu 3 No Single 70K 
mu͑n có nhiɾu nhánh 4 Yes Married 120K 

á ´͛i m͗i giá trʈ tính các 5 No Divorced 95K  


6 No Married 60K
mɨu thu͙c m͙t l͛p theo 
7 Yes Divorced 220K
dɞng A<( và A>( 
8 No Single 85K  
á Cách ch͍n giá trʈ ( đơn 9 No Married 75K 
giɠn: v͛i m͗i giá trʈ ( 10 No Single 90K  
trong CSDL đɾu tính Gini
cͧa nó và lɢy giá trʈ có Tax
Gini nh͏ nhɢt á kém hiʄu
> 80K < 80K
quɠ
Phân chia thu͙c tính có giá trʈ liên tͥc
á Cách ch͍n giá trʈ ( hiʄu quɠ:
Sɬp xɼp các giá trʈ tăng dɤn
Ch͍n giá trʈ trung bình cͧa tͫng giá trʈ cͧa thu͙c tính
đʀ phân chia và tính chʆ s͑ gini
Ch͍n giá trʈ phân chia có chʆ s͑ gini thɢp nhɢt
”iɼn đ͕i cây quyɼt đʈnh thành luɪt
á ”iʀu diʂn tri thͩc dư͛i dɞng luɪt IF-
THŽN
á M͗i luɪt tɞo ra tͫ m͗i đư͝ng dɨn tͫ
g͑c đɼn lá
á M͗i cɴp giá trʈ thu͙c tính d͍c theo
đư͝ng dɨn tɞo nên phép kɼt (phép
AND ± và)
á Các nút lá mang tên cͧa l͛p
”iɼn đ͕i cây quyɼt đʈnh thành luɪt
Outlook

Sunny Overcast Rain

Humidity Yes Wind

High Normal Strong Weak

No Yes No Yes

"#$
 !  Ù  
%& '&() * 

"#$
 !  Ù  
* +  '&() ,(-

"#$
 ! .(+/ -
'&() ,(-

"#$
 !
 Ù  
+ % '&() *

"#$
 !
 Ù  ( ! '&() ,(-
¹u điʀm cͧa cây quyɼt đʈnh
á Cây quyɼt đʈnh dʂ hiʀu
á ´iʄc chuɦn bʈ dͯ liʄu cho m͙t cây quyɼt đʈnh
là cơ bɠn hoɴc không cɤn thiɼt
á Cây quyɼt đʈnh có thʀ xͭ lý cɠ dͯ liʄu có giá
trʈ bɮng s͑ và dͯ liʄu có giá trʈ là tên thʀ loɞi
á Cây quyɼt đʈnh là m͙t mô hình h͙p trɬng
á Có thʀ thɦm đʈnh m͙t mô hình bɮng các
kiʀm tra th͑ng kê
á Cây quyɼt đʈnh có thʀ xͭ lý t͑t m͙t lưͣng dͯ
liʄu l͛n trong th͝i gian ngɬn

You might also like