Thuật toán Quinlan – Bài tập (tiếp theo)

0

Để tiếp tục ví dụ cho giải thuật Quinlan. Ta làm một số ví dụ  sau:

Bài 4: Dựa vào bảng mô tả, hãy rút ra tập luật.

Vector đặc trưng cho các thuộc tính:

Thuộc tính: Outlook

V(outlook = sunny) =(T(sunny,No),T(sunny,Yes))=(3/5,2/5)

V(outlook = overcast) =(T(overcast,No),T(overcast,Yes))  =(0/4,4/4) = (0,1)

V(outlook =rain) =(T(rain,No),T(rain,Yes))=(2/5,3/5)

Thuộc tính: Temp

V(Temp = hot) =(T(hot,No),T(hot,Yes)) = (2 /4 ,2/4)

V (Temp = mild) =(T(mild,No),T(mild,Yes)) = ( 2/6 ,4/6)

V(Temp = cool) =(T(cool,No),T(cool,Yes)) = ( 1/4 ,3/4)

Thuộc tính: Humidity

V(Humidity = high) =(T(high,No),T(high,Yes)) = ( 4/7 ,3/7)

V(Humidity = normal) =(T(normal,No),T(normal,Yes)) = ( 1/7 ,6/7)

Thuộc tính: Wind

V(wind= false) =(T(false,No),T(false,Yes)) = (2 /8 ,6/8)

V(wind=true) =(T(true No),T(true,Yes)) = (3 /6 ,3/6)

Như vậy, thuộc tính Outlook có số vector đơn vị nhiều nhất nên sẽ được phân hoạch.

Sau khi phân hoạch theo Outlook xong, chỉ có phân hoạch theo Outlook (Psunny) và (Prain)  là còn chứa kết quả là Yes và No nên ta sẽ tiếp tục phân hoạch tập này. Ta sẽ thực hiện thao tác tính vector đặc trưng tương tự đối với các thuộc tính còn lại (Temp,Humidity,Wind). Trong phân hoạch (Psunny), (Prain)  , tập dữ liệu của chúng ta còn lại là :

TH1: Trong phân hoạch (Psunny) , tập dữ liệu của chúng ta còn lại là :

Thuộc tính: Temp

V(Temp = hot) =(T(hot,No),T(hot,Yes)) = (2 /2 ,0/2) = (1,0)

V (Temp = mild) =(T(mild,No),T(mild,Yes)) = ( 1/2 ,1/2)

V(Temp = cool) =(T(cool,No),T(cool,Yes)) = ( 0/1 ,2/1) = (0,1)

Thuộc tính: Humidity

V(Humidity = high) =(T(high,No),T(high,Yes)) = ( 3/3 ,0/3) = (1,0)

V(Humidity = normal) =(T(normal,No),T(normal,Yes)) = ( 0/2,2/2) = (0,1)

Thuộc tính: Wind

V(wind=false) =(T(false,No),T(false,Yes)) = (2/3,1/3)

V(wind= true) =(T(true,No),T(true,Yes)) = (1/2,1/2)

Như vậy, thuộc tính Humidity có số vector đơn vị nhiều nhất nên sẽ được phân hoạch.

 

TH2: Trong phân hoạch (Prain) , tập dữ liệu của chúng ta còn lại là :

 

Thuộc tính: Temp

V(Temp = hot) =(T(hot,No),T(hot,Yes)) = (0,0)

V (Temp = mild) =(T(mild,No),T(mild,Yes)) = ( 1/3,2/3)

V(Temp = cool) =(T(cool,No),T(cool,Yes)) = ( 1/2 ,1/2)

Thuộc tính: Humidity

V(Humidity = high) =(T(high,No),T(high,Yes)) = ( 1/2 ,1/2)

V(Humidity = normal) =(T(normal,No),T(normal,Yes)) = ( 1/3,2/3)

Thuộc tính: Wind

V(wind=false) =(T(false,No),T(false,Yes)) = (0/3,3/3) = (0,1)

V(wind= true) =(T(true,No),T(true,Yes)) = (2/2,0/2) = (1,0)

Như vậy, thuộc tính Wind có số vector đơn vị nhiều nhất nên sẽ được phân hoạch.

Kết luận: Kết quả Cây định danh cuối cùng :

Vậy ta có tập luật:

IF Outlook = Overcast THEN Play = Yes;

IF Outlook = Sunny  AND Humidity= Normal THEN Play = Yes;

IF Outlook = Sunny AND Humidity=High THEN Play = No;

IF Outlook = Rain  AND Wind = False THEN Play = No;

IF Outlook = Rain  AND Wind = True THEN Play = Yes;

Từ tập luật ta có thể suy ra:

Ngày có Overlook là sunny,Temperature là cool, Humidity là high, wind là true thì Play sẽ là: No

Chúc các bạn thành công!

Có thể bạn quan tâm:

Các luật Logic cơ bản

Giải thuật Vương Hạo – Bài tập

Cây quyết định và giải thuật ID3

nord_crypto_728_90_oktot

LEAVE A REPLY