Để tiếp tục ví dụ cho giải thuật (Thuật toán) 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:
Giải thuật Vương Hạo – Bài tập
Cây quyết định và giải thuật ID3