II. TÌM HIỂU VỀ PHÂN LỚP DỮ LIỆU: 1 Giới thiệu về phân lớp:
E(A) =Σ [(pi+ni)/(p+n)] I(pi,ni) i=
2.4. Nội dung giải thuật học cây quyết định cơ bản ID3:
ID3 là một giải thuật học cây quyết định được phát triển bởi Ross Quinlan (1983). Ý tưởng cơ bản của giải thuật ID3 là để xây dựng cây quyết định bằng việc sử
dụng một cách tìm kiếm từ trên xuống trên những tập hợp cho trước để kiểm tra mỗi thuộc tính tại mỗi nút của cây. Để chọn ra thuộc tính mà hữu ích nhất cho sự phân loại trên những tập hợp cho trước, chúng ta sẽ đưa ra một hệ đo độ lợi thông tin.
Để tìm ra một cách tối ưu để phân loại một tập hợp thông tin, vấn đề đặt ra là chúng ta cần phải làm tối thiểu hóa (Chẳng hạn, tối thiểu chiều cao của cây). Như vậy chúng ta cần một số chức năng mà có thể đánh giá trường hợp nào nào cho ra một sự phân chia cân bằng nhất. Hệ đo độ lợi thông tin sẽ là hàm như vậy.
ID3 ( Learning Sets S, Attributes Sets A, Attributesvalues V) Return Decision Tree.
Begin
Đầu tiên nạp learning sets , tạo nút gốc cho cây quyết định 'rootNode', thêm learning set S vào trong nút gốc như là tập con của nó.
For rootNode, đầu tiên chúng ta tính Entropy(rootNode.subset)
If Entropy(rootNode.subset)==0, then rootNode.subset bao gồm records
tất cả với cùng giá trị cho cùng giá trị thuộc tính xát định, trả về một nút lá với decision attribute:attribute value;
If Entropy(rootNode.subset)!=0, then
tính độ lợi thông tin (information gain) cho mỗi thuộc tính trái (chưa được sử dụng để phân chia), tìm thuộc tính A với
Maximum(Gain(S,A)). Tạo những nút con của rootNode này và thêm vào rootNode trong cây quyết định.
For mỗi con của rootNode, áp dụng
ID3(S,A,V) một cách đệ qui cho đến khi đạt được node mà có entropy=0 hay đạt được nút lá.
End ID3.
Ví dụ:
Để mô tả hoạt động của ID3 chúng ta sử dụng ví dụ “Play Tennis”.Sự mô tả tượng trưng thuộc tính như sau:
Attribute Possible Values:
Outlook sunny, overcast , rain Temperature hot , mild, cood Humidity high,normal
Windy true,false
Decision n(negative),p(positive) Tập Leaning set cho ví dụ chơi tennis:
Outlook Temperature Humidity Windy Decision
sunny Hot high false n
sunny Hot high true n
overcast Hot high false p
rain Mild high false p
rain Cool normal false p
rain Cool normal false n
overcast Cool normal true p
sunny Mild high false p
sunny Mild normal true p
rain Mild normal false p
sunny Mild normal true p
overcast Hot normal false p
rain Mild high true n
Giải thuật ID3 thực hiện như sau :
1. Tạo nút gốc( rootNode), chứa đựng toàn bộ learning set như là những tập hợp con của chúng (subset) sau đó tính:
Entropy(rootNode.subset)= -(9/14)log 2 ( 9/14 ) – ( 5/14)log 2 (5/14)= 0.940 2. Tính toán thông tin nhận được cho mỗi thuộc tính:
Gain(S,Windy)= Entropy(S)-(8/14)Entropy(S false) – (6/14)Entropy(S true) = 0.048 Gain(S,Humidity) = 0.151
Gain(S,Temperature) = 0.029 Gain(S,Outlook) = 0.246
3. Chọn lựa những thuộc tính với thông tin nhận được tối đa , đó chính là sự phân chia theo thuộc tính “outlook”.
4. Áp dụng ID3 cho mỗi nút con của nút gốc này , cho đến khi đạt đến nút lá hoặc nút có entropy = 0.