Outlook Rain

Một phần của tài liệu cây quyết định và độ đo (Trang 30)

Rain Sunny Overcast [D4,D5,D6,D10,D14 ] Srain[3+,2-] [D3,D7,D12,D13] SOver[4+,0-] [D1,D2,D8,D9,D11] Ssunny[2+,3-] Wind Humidity Weak Strong Yes Hight Normal No Yes No Yes

việc triển khai cây, ID3 được xem là một cải tiến của CLS. Tuy nhiên, ID3 còn một số vấn đề:

o Độ đo Information Gain chưa tốt vì còn thiên về các thuộc tính có nhiều giá trị.

o Xử lý các thuộc tính có kiểu giá trị liên tục (ví dụ như kiểu số thực). o Xử lý các bộ học thiếu giá thuộc tính (missing-value attributes). o Xử lý các thuộc tính có các chi phí khác nhau.

o Vấn đề overfitting.

Các vấn đề này sẽ được giải quyết trong thuật toán C4. 5.

3.4 Thuật toán C4. 5

Thuật toán C4. 5 cũng được tác giả Quinlan phát triển và công bố vào năm 1996. Thuật toán này là một thuật toán được cải tiến từ thuật toán ID3 và giải quyết hầu hết các vấn đề mà ID3 chưa giải quyết như đã nêu trên. Nó thực hiện phân lớp tập mẫu dữ liệu theo chiến lược ưu tiên theo chiều sâu (Depth - First).

Mã giả thuật toán C4. 5:

o Kiểm tra case cơ bản.

o Với mỗi thuộc tính V tìm thông tin nhớ việc tách thuộc tính V. o Chọn V_best lá thuộc tính mà độ đo lựa chọn thuộc tính “tốt nhất”. o Dùng V_best lám thuộc tính cho node chia cắt cây.

o Đệ quy các danh sách phụ dươc tạo ra bởi việc phân chia theo V_best và thêm các node này như là con của node.

Thuật toán C4. 5 thích hợp cho:

o Mỗi trường hợp được biểu diễn bởi cặp những giá trị thuộc tính. Ví dụ thuộc tính “nhiệt độ“ có những giá trị “nóng”, “mát”, “lạnh”. Chúng cũng đồng thời liên quan đến thuộc tính mở rộng, giá trị tiếp theo, dữ liệu được tính toán (giá trị thuộc tính bằng số) trong dự án của chúng ta.

o Hàm mục tiêu có giá trị đầu ra là những giá trị rời rạc. Nó dễ dàng liên hệ đến trường hợp mà được gán vào một quyết định đúng hoặc

sai. Nó cũng có thể mở rộng hàm mục tiêu đến giá trị đầu ra là những giá trị thực.

o Những dữ liệu đưa vào có thể chứa đựng nhiều lỗi điều này liên quan đến kĩ thuật giản lược những dữ liệu thừa. Trong các thuật toán học cây quyết định thì ID3 và C4. 5 là hai thuật toán phổ dụng nhất.

Một số vấn đề với thuộc tính:

Thuộc tính liên tục:

Thuật toán ID3 bị giới hạn bởi việc liên quan đến tập những giá trị rời rạc. Trong thuật toán C4. 5 chúng ta sẽ mở rộng phạm vi hoạt của nó cho những thuộc tính có giá trị liên tục (giá trị số) để phù hợp với thế giới thực.

Thuật toán C4. 5 đưa ra định nghĩa những giá trị rời rạc mới để phân những giá trị liên tục thành những thuộc tính tượng trưng một lần nữa theo các quy tắc sau:

- Dựa trên một giá trị nếu muốn phân chia nhị phân. - Dựa trên vài giá trị nếu muốn có nhiều nhánh.

- Với mỗi giá trị tính các mẫu thuộc một lớp theo dạng A < v và A > v. - Cách chọn giá trị v 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 cặp giá trị của thuộc tính để phân chia và tính chỉ số gain.

+ Chọn giá trị phân chia có chỉ số gain cao nhất  Thuộc tính thiếu giá trị:

Nếu giá trị của thuộc tính A bị mất trên một số bộ dữ liệu, hướng giải quyết

sẽ thế nào ?

Giả sử rằng (x, C(x)) là một trong những tập huấn luyện trong S và giá trị A(x) là không được biết đến.

 Giải pháp:

- Thay bằng giá trị xuất hiện nhiều nhất của thuộc tính A.

- Thay bằng giá trị xuất hiện nhiều nhất của thuộc tính A mà có cùng giá trị hàm mục tiêu.

giá trị bị thiếu, nếu số lượng các giá trị bị thiếu không nhiều).

 Thuật toán C4. 5 dùng độ đo lựa chọn thuộc tính “tốt nhất” Information gain và Gain Ratio cho test X. Test X sẽ được chọn nếu có Gain Ratio (S, X) đạt giá trị lớn

nhất.

Xét bảng 3.1:

- Gọi tập huấn luyện là S, số mẫu thuộc lớp “Yes” ký hiệu là (+) và số mẫu thuộc lớp “No” ký hiệu là (-), ta có S[9+, 5-] tức tập huấn luyện S có 14 mẫu trong đó có 9 mẫu thuộc lớp “Yes” và 5 mẫu thuộc lớp “No”.

Ta tính:

Entropy(S) = -(9/14)log2(9/14) – (5/14)log2(5/14) = 0. 940

Độ đo tỉ lệ gain cho thuộc tính “Outlook”:

EntropyOutlook(S) = Entropy(ssunny) + Entropy(SOvercast) + Entropy (Srain) = (5/14)(- (2/5)log2(2/5) – (3/5)log2(3/5)) + (4/14)(0) +

(5/14)(- (3/5)log2(3/5) – (2/5)log2(2/5)) = 0. 694

Gain(S, Outlook) = Entropy(S) – EntopyOutlook(S) = 0. 940 – 0. 694 = 0. 246

SplitInfomation(S, Outlook) =-(5/14)log2(5/14) -(4/14)log2(4/14)- (5/14)log2(5/14)

= 1. 577

GainRatio(S, Outlook) = 0. 246/1. 577 = 0. 156

Chúng ta tính tương tự với Độ đo tỉ lệ gain cho thuộc tính “Wind” và “Humidity”, ”Temp”, “Day” có:

GainRatio(S, Wind) = 0. 048/0. 985 = 0. 049

GainRatio(S, Humidity) = 0. 048/0. 985 = 0. 151

GainRatio(S, Temp) = 0. 028/1. 557 = 0. 019

GainRatio(S, Day) = 0. 940/3. 807 = 0. 246

Entropy trung bình = (0. 694 + 0. 892 + 0. 925 + 0. 911 + 0)/5 = 0. 684

Ta có: GainRatio(S, Outlook) = 0. 156 EntopyOutlook (S) = 0. 694 > 0. 684

 Thuộc tính được chọn để phân chia: Outlook

Sau đó, chúng ta lần lượt tính cho GainRatio của các nhánh Sunny, Rain, Overcast để tìm thuộc tính phân chia tiếp theo.

 Kết quả Cây Quyết Định theo thuật toán C4.5 như hình 3.4:

Hình 3.4: Cây quyết định với thuật toán C4. 5

Luật rút ra từ cây quyết định:

 Luật 1: if (Outlook = Sunny) and (Humidity≤ 77. 5) then Chơi tennis = Yes

 Luật 2: if (Outlook = Sunny) and (Humidity< 77. 5) then Chơi tennis = No

 Luật 3: if (Outlook = Overcast) then Chơi tennis = Yes

 Luật 4: if (Outlook = Rain) and (Wind = Weak) then Chơi tennis = Yes

 Luật 5: if (Outlook = Rain) and (Wind = Strong)

Một phần của tài liệu cây quyết định và độ đo (Trang 30)

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

(46 trang)
w