Lựa chọn thuộc tính kiểm tra

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin khai phá dữ liệu có canh tác dữ liệu và ứng dụng trong khai phá dữ liệu y khoa (Trang 54)

Một vấn đề phát sinh là chúng ta xuất phát từ Root thì thuộc tính nào cần được xem xét để thêm các node tiếp theo? Để xem xét điều này người ta đưa ra hai thông số quan trọng sau [10]:

Entropy : Một đánh giá thường được sử dụng trong lĩnh vực lí thuyết thông

tin(Information Theory) nhằm đánh giá mức độ phức tạp ((im)purity/ inhomogeneity) của một tập S. Entropy của một tập S được tính theo công thức:

Entropy(S)= - P+ log2p+ - P- log2P - (3.1)

Trong trường hợp các mẫu dữ liệu có hai thuộc tính phân lớp "yes" (+), "no" (-). Ký hiệu p+ là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "yes", và p- là tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "no" trong tập S.

Trường hợp tổng quát, đối với tập con S có c phân lớp thì ta có công thức sau:

Trong đó pi là tỷ lệ các mẫu thuộc lớp i trên tập hợp S các mẫu kiểm tra. Các trường hợp đặc biệt:

- Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì Entropy(S) =0

- Nếu trong tập S có số mẫu phân bổ đều nhau vào các lớp thì Entropy(S) =1

- Các trường hợp còn lại 0 < Entropy(S) < 1

Ý nghĩa của entropy trong lĩnh vực lí thuyết thông tin: Entropy của tập S chỉ ra số lượng bits cần thiết để mã hóa lớp của một phần tử được lấy ra ngẫu nhiên từ tập S.

b.Information Gain (viết tắt là Gain):

Information Gain của một thuộc tính đối với một tập các ví dụ là đại lượng dùng để đo mức độ giảm mong đợi của Entropy bằng việc phân chia (partitioning) các ví dụ theo các giá trị của thuộc tính đó.

Cho tập dữ liệu S gồm có n thuộc tính Ai (i=1, 2…n) giá trị Gain của thuộc tính A trong tập S ký hiệu là Gain(S, A) và được tính theo công thức sau:

Trong đó:

S là tập hợp ban đầu với thuộc tính A Các giá trị của v tương ứng là các giá trị của thuộc tính A.

Sv bằng tập hợp con của tập S mà có thuộc tính A mang giá trị v.

|Sv| là số phần tử của tập Sv.

|S| là số phần tử của tập S.

Trong công thức trên, thành phần thứ 2 thể hiện giá trị Entropy sau khi tập S được phân chia bởi các giá trị của thuộc tính A sau khi tập S được phân chia bởi các giá trị của thuộc tính A.

Ý nghĩa của Gain(S, A): Số lượng bits giảm được (reduced) đối với việc mã hóa lớp của một phần tử được lấy ra ngẫu nhiên từ tập S, khi biết giá trị của thuộc tính A.

Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi bước triển khai cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn nhất.

Ví dụ minh họa: [10]

Xét ví dụ quyết định chơi hay không chơi Tennis. Các thuộc tính được mô tả như bảng 3.1

Day Outlook Temperature Humidity Wind Play Tennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mid High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mid High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mid Normal Weak Yes

D11 Sunny Mid Normal Strong Yes

D12 Overcast Mid High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mid High Strong No

Chúng ta sẽ thử tính giá trị Information Gain của thuộc tính Wind đối với tập học S – Gain(S, Wind):

Thuộc tính Wind có 2 giá trị có thể: Weak và Strong; S = {9 ví dụ lớp Yes và 5 ví dụ lớp No}; Sweak = {6 ví dụ lớp Yes và 2 ví dụ lớp No có giá trị Wind=Weak}; Sstrong= {3 ví dụ lớp Yes và 3 ví dụ lớp No có giá trị Wind=Strong}

Tính : Entropy(S)=Entropy([9+,5-])= -9/14log29/14-5/14log25/14=0.94

Gain(S,A)=Entropy(S) -

= Entropy(S)- (8/14).Entropy(Sweak) – (6/14).Entropy(Sstrong) = 0.94-(8/14).(0.81)-(6/14).(1)=0.048

Tại nút gốc, thuộc tính nào trong số {Outlook, Temperature, Humidity, Wind} nên được chọn là thuộc tính kiểm tra?

• Gain(S, Outlook) = ... = 0.246; Có giá trị Information Gain cao nhất • Gain(S, Temperature) = ... = 0.029

• Gain(S Humidity) = = 0.151 Gains(S, Humidity) = ... = 0.151 • Gain(S, Wind) = ... = 0.048

Vì vậy, Outlook được chọn là thuộc tính kiểm tra cho nút gốc như hình 3.3:

Kế đến, tại nút Node1, thuộc tính nào trong số {Temperature, Overcast, Sunny, Humidity, Wind} nên được chọn là thuộc tính kiểm tra?

Lưu ý! Thuộc tính Outlook bị loại ra bởi vì nó đã được sử dụng bởi cha của nút Node1 (là nút gốc)

• Gain(S Sunny, Temperature) =...= 0.57 • Gain(S Sunny, Humidity) = ... = 0.97 • Gain(S Sunny, Wind) = ... = 0.019

Vì vậy, Humidity được chọn là thuộc tính kiểm tra cho nút Node1 như hình 3.4:

.

Hình 3.3 Tạo Node gốc Outlook

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin khai phá dữ liệu có canh tác dữ liệu và ứng dụng trong khai phá dữ liệu y khoa (Trang 54)

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

(81 trang)