Nội dung giải thuật học cây quyết định cơ bản ID3

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu (Trang 50 - 53)

5. Phƣơng pháp nghiên cứu:

3.1.3.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 là 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ệ số độ 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 cho ra một sự phân chia cân bằng nhất. Hệ số độ 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 các tập học dữ liệu, 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ác đị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:

Các giá trị thuộc tính cĩ thể là (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:

Bảng 3.1 - Dữ liệu chơi tenis

Giải thuật ID3 thực hiện nhƣ sau :

1. Tạo nút gốc( rootNode), chứa đựng tồ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) ( 9/14 ) –( 5/14) (5/14)= 0.940 2. Tính tốn thơng tin nhận đƣợc cho mỗi thuộc tính :

Gain(S,Windy)= Entropy(S)-(8/14)Entropy( )–(6/14)Entropy( ) = 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.

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu (Trang 50 - 53)

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

(70 trang)