1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI TẬP LỚN MÔN KHAI PHÁ DỮ LIỆU

60 2,2K 16

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 1,47 MB
File đính kèm BAO-CAO-KHAI.rar (1 MB)

Nội dung

báo cáo bài tập lớn môn khái phá dữ liệu dành cho các bạ sinh viên ngành khoa học máy tính hoặc ngành khác muốn nghiên cứu về dataminning hoặc làm về bài tập tiểu luận tốt nghiệp chỉ dẫn cho các bạn các khai phá về dữ liệu áp dụng làm về phần mềm tư vấn mua máy tính cho sinh viên

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

o0o

-BÁO CÁO BÀI TẬP LỚN MÔN: KHAI PHÁ DỮ LIỆU

Đề tài: TÌM HIỂU CÂY QUYẾT ĐỊNH VÀ ID3

Giáo viên hướng dẫn : Trần Hùng Cường

Nhóm sinh viên thực hiện : Nhóm 5

Hà Nội, ngày 04 tháng 04 năm

Trang 2

2018 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

o0o

-BÁO CÁO BÀI TẬP LỚN MÔN: HỆ CHUYÊN GIA

Đề tài: TÌM HIỂU CÂY QUYẾT ĐỊNH VÀ ID3

Giáo viên hướng dẫn : Trần Hùng Cường

Sinh viên thực hiện : Vũ Văn Duy

Hoàng Bá Vũ Nguyễn Thị Dịu Dương Đức Tuyến Dương Quang Nam

Hà Nội, ngày 04 tháng 04 năm

Trang 3

2018 LỜI CẢM ƠN

Ngày nay, công nghệ thông tin là lĩnh vực không thể thiếu trong đời sốngcon người Đặc biệt các sản phẩm của công nghệ thông tin ngày nay còn đóngvai trò như một chuyên gia trong nhiều lĩnh vực như y học, hóa học, dự báo, cóthể mã hóa các tri thức cũng như lập luận của những chuyên gia này và đưa vàomáy tính nhằm hỗ trợ người sử dụng

Với đề tài “Tìm hiểu cây quyết định và ID3”, chúng em đã bước đầu làmquen, có cách nhìn nhận đầy đủ về hệ thống và tiến tới xây dựng được phầnmềm có khả năng như chuyên gia con người trong một lĩnh vực cụ thể

Các thuật toán này sẽ hỗ trợ người sử dụng đưa ra quyết định có mua máytính hay không? Chỉ cần người sử dụng nhập vào các yêu cầu của mình về hệđiều hành, mức thu nhập của mình, yêu cầu về cấu hình máy tính, hãng sảnxuất,…

Chúng em đã cố gắng tiếp thu lời góp ý của thầy và các bạn để xây dựngđược một chương trình cơ bản sử dụng cây quyết định Tuy vậy, bài tập lớn vẫncòn nhiều thiếu sót Rất mong thầy cùng các bạn sẽ đánh giá và góp ý

Chúng em xin gửi lời cảm ơn chân thành tới thầy Tràn Hùng Cường đãtận tình hướng dẫn nhóm em nắm bắt các kiến thức cơ bản về môn học Khaiphá dữ liệu trong học kỳ này Đặc biệt, chúng em xin cảm ơn thầy đã hướng dẫn

và những nhận xét đánh giá quý báu của thầy để chúng em hoàn thành bài tậplớn

Chúng em xin gửi lời cảm ơn những ý kiến đóng góp của các bạn sinhviên trong lớp để giúp chúng em hoàn thành bài tập lớn

Chúng em xin chân thành cảm ơn!

Trang 4

MỤC LỤC

CHƯƠNG 1: TÌM HIỂU ĐỀ TÀI BÀI TẬP LỚN 5

1.1 Mục đích chọn đề tài 5

1.2 Lý do chọn đề tài 5

1.3 Quy trình thực hiện 5

CHƯƠNG 2: CÂY QUYẾT ĐỊNH 6

2.1 Cây quyết định 6

2.1.1 Cây quyết định là gì? 6

2.1.2 Các kiểu cây quyết định 8

2.2 Thuật toán ID3 8

2.2.1 Thuật toán ID3 xây dựng cây quyết định 8

2.2.2 Minh họa thuật giải ID3 11

CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM 14

3.1 Bài toán 14

3.1.1 Phát biểu bài toán 15

3.1.2 Thông tin các thuộc tính 15

3.3 Giải quyết bài toán 15

3.2.1 Nhánh OS = Windows 19

3.2.2 Nhánh OS = Linux 33

3.2.3 Nhánh OS = Mac OS 44

CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH 54

4.1 Lập trình bằng ngôn ngữ C# 54

4.1.1 Sơ lược về phần mềm 54

4.2 Hướng dẫn và sử dụng 55

4.2.1 Hướng dẫn sử dụng 55

CHƯƠNG 5: TÀI LIỆU THAM KHẢO 58

Trang 5

CHƯƠNG 1: TÌM HIỂU ĐỀ TÀI BÀI TẬP LỚN

1.1 Mục đích chọn đề tài

Với đề tài “ Tìm hiểu cây quyết định và ID3” đã giúp nhóm hiện thựcđược môn học Hệ chuyên gia, hiểu được bản chất và cách xây dựng từng bước

để tạo nên một hệ chuyên gia với cơ sở tri thức và động cơ suy diễn của nó để

có thể đáp ứng với nhu cầu ngày càng cao của xã hội về việc công nghệ thôngtin hóa

1.2 Lý do chọn đề tài

Ngày nay, CNTT là lĩnh vực không thể thiếu trong đời sống con người.Hầu như trong mọi nghành, mọi lĩnh vực, CNTT đều có mặt Các sản phẩmphần mềm tạo ra đã phục vụ và đem lại nhiều lợi ích về kinh tế như các phầnmềm quản lý , thương mại điện tử, các dịch vụ mạng truyền thông…

Một câu hỏi đặt ra bằng cách nào ta có thể mã hóa các tri thức cũng nhưlập luận của những chuyên gia này và đưa vào máy tính nhằm hỗ trợ người sửdụng đưa ra những quyết định cũng như tư vẫn cho họ khi không có chuyên giabên cạnh

Để đáp ứng những nhu cầu trên đòi hỏi có một công cụ tư vấn giúp ngườidùng dễ dàng lựa chọn hay đưa ra quyết định Nhóm đã quyết định lựa chọn đềtài “ Tìm hiểu cây quyết định và ID3” để hỗ trợ người sử dụng có thẻ quyết địnhmua một chiếc máy tính cho bản thân

1.3 Quy trình thực hiện

- Thu thập tập dữ liệu mẫu từ thực tế

- Sử dụng thuật giải ID3 để xây dựng cây quyết định từ tập dữ liệu mẫu

- Từ cây quyết định sinh ra tập luật

Trang 6

- Thiết kế và xây dựng, cài đặt suy diễn tư vấn mua máy tính.

- Sử dụng C# để phân tích tạo cây ID3

CHƯƠNG 2: CÂY QUYẾT ĐỊNH 2.1 Cây quyết định

2.1.1 Cây quyết định là gì?

Việc học trên cây quyết định dựa trên dữ liệu huấn luyện có dạng bảng,trong đó các cột là thuộc tính diều kiện và thuộc tính mục tiêu( quyết định), mỗidòng sẽ được dán nhãn là giá trị của thuộc tính mục tiêu Chẳng hạn với bảng

dữ liệu( Bảng 3.1) các thuộc tính “Age” và “Salary” là thuộc tính điều kiện cònthuộc tính “Class” là thuộc tính mục tiêu

Bảng 3.1 Dữ liệu huấn luyện

Cây quyết định là một công cụ khá phổ biến trong nhiều dạng ứng dụng,

với cơ chế rút trích các dạng luật if- then dựa trên tập liệu mẫu Sau đây là định nghĩa cây quyết định.

Trang 7

Cây quyết định là dạng đặc biệt của cáu trúc cây nhằm hỗ trợ cho tiếntrình ra quyết định Cây gồm các thành phần:

o Nút trong: Biểu diễn thuộc tính

o Nhánh: Biểu diễn giá trị cụ thể của thuộc tính đó

o Nút lá: Đại diện cho giá trị dự đoán của thuộc tính mục tiêu

quyết định

Hình 3.2 Cây quyết định tương ứng với bảng 4.1

Dựa trên cây này ta có thể đưa ra được quyết định

Trang 8

Chẳng hạn với mẫu x=(30,30,?) sẽ được gán nhãn là “Bad”.

2.1.2 Các kiểu cây quyết định

Cây hồi quy( Regresstion tree) :Ước lượng các hàm giá có giá trị là số thực

thay vì được sử dụng thay vì được sử dụng cho các nhiệm vụ phan loại

Cây phân loại ( Classification tree): Nếu biến chúng ta cần tìm hiểu là

biến phân loại như :giới (tính nam hay nữ ), kết quả của một trận đấu( thắng haythua)

2.2 Thuật toán ID3

2.2.1 Thuật toán ID3 xây dựng cây quyết định

Với bảng dữ liệu huấn luyện có nhiều thuộc tính điều kiện Vấn đề đặt ra

là lựa chọn thuộc tính nào làm gốc của cây Để lựa chọn thuộc tính làm gốc củacây ta đưa ra tiêu chuẩn để đánh giá, một trong các tiêu chuẩn đó là độ lợi thôngtin (information Gain) của thuộc tính Thuộc tính có độ lợi thông tin lớn nhất sẽđược chọn làm gốc của cây

Độ lợi thông tin của thuộc tính A, ký hiệu là Gain( S, A) và được xácđịnh qua công thức:

Gain(S, A)=Entropy(S) -∑((|S v | / |S|)* Entropy(S v ) ) Thuật toán ID3:

Cho X là tập vectơ đặc trưng( không gian đặc trưng):

Trang 9

ID3( D, Atributes, Target)

{

 Tạo nút t cho cây

 Nếu tất cả các mẫu trong D đều thuộc lớp dương thì trả về cây có nút gốc

t và được dán nhãn “+”

 Nếu tất cả các mẫu trong D đều thuộc lớp âm thì trả về cây có nút gốc t

và được dán nhãn “-”

 Đặt t là nhãn phổ biến nhất của thuộc tính mục tiêu trong D

 Nếu Atributes rỗng thì trả về cây có nút gốc trỏ bởi t

 Trường hợp khác:

 Đặt A* là thuộc tính phân lớp tốt nhất trong D

 Thuộc tính quyết định của t là A*.

 Với mỗi giá trị a của A* thực hiện:

 Bổ sung nhánh mới dưới t ứng với A* = “a”

 Đặt D_a là tập con của D chứa các mẫu mà A* = “a”

 Nếu D_a rông thì nhánh mới này bổ sung nút lá với nhãnphổ biến nhất trong D

 Ngược lại, dưới nhánh mới này bổ sung cây con ID3( D_a,Atributes – { A*}, Target)

 Trả về t

}

Trang 10

Sau đây là mã giả cho thuật giải ID3:

ID3( D, Atributes, Target)

{

1 t= createNode()

2 IF IF (x, c(x))  D: c(x) = 1 THEN label(t) = ‘+’ return(t) ENDIF

3 IF (x, c(x))  D: c(x) = 0 THEN label(t) = ‘-’ return(t) ENDIF

4 label(t) = mostCommonClass(D, Target)

5 IF Attributes =  THEN return(t) ENDIF

Trang 11

2.2.2 Minh họa thuật giải ID3

Để minh họa cho thuật toán này, ta xét tập dữ liệu huấn luyện sau:

Bảng 3.2 Số liệu quan sát về điều kiện chơi bóng

Bây giờ ta tính độ lợi thông tin cho từng thuộc tính sau đó chọn thuộctính có độ lợi thông tin lớn nhất làm gốc cây quyết định

S là tập hợp của 14 mẫu, trong đó có 9 mẫu thuộc lớp YES và 5 mẫuthuộc lớp NO Khi đó:

Entropy( S)= -(9/14)* log2(9/14) - (5/14)* log2(5/14)= 0.940

Xét thuộc tính “Wind”:

Entropy( SWeak)= - (6/8)* log2(6/8) - (2/8)* log2(2/8)= 0.811

Entropy( SStrong)= - (3/6)* log2(3/6) - (3/6)* log2(3/6)= 1.00

Gain( S, Wind)= Entropy( S) – (8/14) * Entropy( SWeak) – (6/14) *Entropy( SStrong) = 0.940 – (8/14)*0.811 – (6/14)*1,00= 0.048

Trang 12

Tương tự như vậy với các thuộc tính điều kiện còn lại:

Trong nhánh Outlook = Sunny, SSunny= {D1, D2, D8, D9, D11}

Gain( SSunny, Humidity) = 0.970

Gain( SSunny, Temperature) = 0.570

Gain( SSunny, Wind) = 0.019

Tương tự như vậy với nhánh Outlook= Rain, ta cũng tính được độ lợi thông tin cho các thuộc tính còn lại và chọn “Wind” làm gốc

Cuối cùng ta xây dựng được cây quyết định:

Hình 3.3 Cây quyết định ứng với bảng dữ liệu 3.2

Trang 13

Sinh luật từ cây quyết định:

Mỗi luật là một đường dẫn từ gốc đến lá và các thuộc tính trên cùng một đường

đi được kết hợp bởi phép AND Từ cây quyết định này ta có tập luật sau:

Rule 1: IF Outlook= Sunny AND Humidity = High THEN Play ball= No

Rule 2: IF Outlook= Sunny AND Humidity = Normal THEN Play ball= YesRule 3: IF Outlook= Rain AND Wind = Strong THEN Play ball= No

Rule 4: IF Outlook= Overcast THEN Play ball= Yes

Rule 5: IF Outlook= Rain AND Wind= Weak THEN Play ball= Yes

Với mẫu D15 = (Overcast, Mild, Normal, Weak, ? ) thỏa mãn luật rule 4 Do đóD15 được xếp vào lớp “Yes”

Trang 14

CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM

3.1 Bài toán

1 youth male high high SONY Windows Yes

2 senior male low low DELL Windows Yes

3 senior female high high APPLE Mac OS Yes

4 youth male high medium DELL Linus No

5 middle-aged male medium high APPLE Mac OS Yes

6 youth female high high DELL Windows No

7 senior male low medium SAMSUNG Linus Yes

9 middle-aged female low high APPLE Mac OS No

10 middle-aged male medium medium APPLE Mac OS Yes

11 youth female medium high ASUS Windows No

12 youth male high low ASUS Windows Yes

13 senior male medium medium HP Windows Yes

14 youth female low high DELL Windows No

15 middle-aged male low medium APPLE Mac OS No

16 senior male medium low DELL Windows Yes

17 senior female low medium SONY Windows No

18 middle-aged male high low HP Linus No

19 youth male medium high HP Linus No

20 senior female medium low APPLE Mac OS Yes

21 senior female low medium APPLE Mac OS No

22 youth female medium medium ASUS Windows Yes

23 middle-aged male low high SAMSUNG Windows No

24 youth female high medium DELL Windows Yes

25 youth male low high ASUS Linus No

26 middle-aged female medium medium APPLE Mac OS No

27 senior male high medium SONY Windows Yes

28 senior male medium high APPLE Mac OS Yes

29 middle-aged female high medium APPLE Mac OS No

30 youth male medium medium APPLE Mac OS Yes

31 senior female low high ASUS Linus Yes

32 middle-aged male low low APPLE Mac OS No

33 senior male high high ASUS Windows Yes

34 senior female high low DELL Windows Yes

35 middle-aged female medium low SONY Windows Yes

36 youth male medium low HP Linus Yes

37 middle-aged male high low ASUS Linus No

38 senior female medium high ASUS Windows No

39 youth female low medium HP Windows Yes

40 middle-aged female medium high APPLE Mac OS Yes

41 senior male medium high SONY Mac OS No

42 youth male low medium SAMSUNG Linus Yes

43 middle-aged female high high DELL Windows Yes

44 youth female medium low HP Linus No

45 middle-aged male high medium DELL Windows Yes

46 middle-aged male medium low HP Windows Yes

47 senior female high medium HP Windows No

Manufucturers STT Age Sex Income Configuration OS Buy

Bảng 4.1: Bảng dữ liệu thu thập tiêu thụ máy tính tại miền Bắc

Trang 15

3.1.1 Phát biểu bài toán.

Bài toán lấy dữ liệ liệu thực tế về mua bán kinh doanh máy tính tại siêuthị miền Bắc trong năm gần đây.Từ việc chọn các giượi ý trong từng thuộctính , người mua có thể quyết định được mình có nên mua máy tính này haykhông

Để tối giản nhất có thể, nhóm lựa chọn ba hệ điều hành phổ biến nhấthiện nay được nhiều người sử dụng là Windows, Mac OS, Linux

3.1.2 Thông tin các thuộc tính.

Từ dữ liệu thực tế chúng em thu thập được thông tin cho các thuộc tínhnhư

sau:

Thuộc tính Age chỉ định tuổi tác của khách hàng

Gồm : youth, senior middle- ages

Thuộc tính Sex chỉ định giới tính của khách hàng

Gồm :male, female

Thuộc tính Income chỉ định thu nhập của khách hàng

Gồm: high, medium, low

Thuộc tính Configuration chỉ định cấu hình mà khách hàng muốn mua

Gồm: high, medium, low

Thuộc tính Manifuctures chỉ định khách hàng muốn mua của nhà sản xuất nào

Gồm các hãng sau: Sony, Samsung, Dell, Apple, HP, Asus

Thuộc tính Os chỉ định hệ điểu hàng mà khách hàng muốn mua

Gồm: Window, Linux, Mac OS

Trang 16

3.3 Giải quyết bài toán

Sử dụng giải thuật ID3 để tạo cây quyết định:

Tập hợp S là tập có 47 mẫu, trong đó có 27 mẫu thuộc lớp “Yes” và 20mẫu thuộc lớp “ No”

Vậy ta có : Entropy( S )= -(27/47)* log2(27/47) - (20/47)* log2(20/47 )

 Entropy( S ) = 0.984Tính độ lợi thông tin của các thuộc tính trong tập dữ liệu trong mẫu dựa vào thuật giải ID3 :

Xét thuộc tính “Age”:

Entropy(Syouth) = - (9/16) log2(9/16) – (7/16) log2(7/16) = 0.989

Entropy(Smiddle-aged) = - (7/15) log2(7/15) - (8/15) log2(8/15) = 0.997

Entropy(Ssenior) = - (11/16) log2(11/16) - (5/16) log2(5/16) = 0.896

→ Gian( S, Age)= Entropy( S) – (16/47)* Entropy(Syouth) – (15/47)*Entropy(Smiddle-aged) – (16/47)* Entropy(Ssenior)

= 0.984 – (16/47) * 0.989 – (15/47) * 0.997 – (16/47) * 0.896

= 0.024

Trang 17

Xét thuộc tính “Sex”:

Entropy(Smale) = - (17/26)* log2(17/26) – (9/26)* log2(9/26) = 0.931

Entropy(Sfemale) = - (10/21)* log2(10/21) – (11/21)* log2(11/21) = 0.998

→ Gain(S, Sex) = Entropy(S) – (26/47) * Entropy(Smale) – (21/47) *Entropy(Sfemale)

= 0.984 – (26/47) * 0.931 – (21/47) * 0.998

= 0.023

Xét thuộc tính “Income”:

Entropy(Shigh) = - (9/15)* log2(9/15) – (6/15)* log2(6/15) = 0.971

Entropy(Smedium) = - (12/18)* log2(12/18) – (6/18)* log2(6/18) = 0.918Entropy(Slow) = - (6/14)* log2(6/14) – (8/14)* log2(8/14) = 0.985

→ Gain(S, Income) = Entropy(S) – (15/47) * Entropy(Shigh) – (18/47) *Entropy(Smedium) – (14/47) * Entropy(Slow)

= 0.984 – (15/47) * 0.971 – (18/47) * 0.918 – (14/47) * 0.985

= 0.029

Xét thuộc tính “Configuration”:

Entropy(Shigh) = - (8/17)* log2(8/17) – (9/17)* log2(9/17) = 0.998

Entropy(Smedium) = - (10/17)* log2(10/17) – (7/17)* log2(7/17) = 0.977Entropy(Slow) = - (9/13)* log2(9/13) – (4/13)* log2(4/13) = 0.890

→ Gain(S, Configuration) = Entropy(S) – (17/47) * Entropy(Shigh) –(17/47) * Entropy(Smedium) – (13/47) * Entropy(Slow)

= 0.984 – (17/47) * 0.998 – (17/47) * 0.977 – (13/47) * 0.890

= 0.023

Trang 18

Xét thuộc tính “Manufacturers”:

Entropy(SSONY) = - (3/5)* log2(3/5) – (2/5)* log2(2/5) = 0.971Entropy(SAPPLE) = - (7/13)* log2(7/13) – (6/13)* log2(6/13) = 0.996Entropy(SDELL) = - (6/9)* log2(6/9) – (3/9)* log2(3/9) = 0.918Entropy(SASUS) = - (4/8)* log2(4/8) – (4/8)* log2(4/8) = 1Entropy(SSAMSUNG) = - (2/3)* log2(2/3) – (1/3)* log2(1/3) = 0.918Entropy(SHP) = - (5/9)* log2(5/9) – (4/9)* log2(4/9) = 0.991

→ Gain(S, Manufacturers) = Entropy(S) – (5/47) * Entropy(SSONY) –(13/47) * Entropy(SAPPLE) – (9/47) * Entropy(SDELL) – (8/47) *Entropy(SASUS) – (3/47) * Entropy(SSAMSUNG) – (9/47) * Entropy(SHP)

= 0.984 – (5/47) * 0.971 – (13/47) * 0.996 – (9/47) * 0.918 – (8/47) * 1–(3/47) * 0.918 – (9/47) * 0.991

→ Gain(S, OS) = Entropy(S) – (22/47) * Entropy(SWindows)

– (14/47) * Entropy(SMac OS) – (11/47) * Entropy(SLinux)

= 0.984 – (22/47) * 0.902 – (14/47) * 1 – (11/47) * 0.994

= 0.031

Trang 19

Trong các thuộc tính điều kiện trên ta thấy “OS” có độ lợi thông tin lớn nhấtnên thuộc tính này sẽ được chọn làm gốc của cây.

→ Gain(SWindows, Age) = Entropy(SWindows) – (8/22) * Entropy(Syouth)– (5/22) * Entropy(Smiddle-aged) – (9/22) * Entropy(Ssenior)

= 0.902 – (8/22) * 0.954 – (5/22) * 0.722 – (9/22) * 0.918

= 0.015 Xét thuộc tính Sex:

Entropy(Smale) = - (9/10)* log2(9/10) – (1/10)* log2(1/10) = 0.469Entropy(Sfemale) = - (6/12)* log2(6/12) – (6/12)* log2(6/12) = 1

→ Gain(SWindows, Sex) = Entropy(SWindows) – (10/22) * Entropy(Smale)

- (12/22) * Entropy(Sfemale)

= 0.902 – (10/22) * 0.469 – (12/22) * 1

Trang 20

= 0.131

Xét thuộc tính Income:

Entropy(Shigh) = - (8/10)* log2(8/10) – (2/10)* log2(2/10) = 0.722Entropy(Smedium) = - (5/7)* log2(5/7) – (2/7)* log2(2/7) = 0.863Entropy(Slow) = - (2/5)* log2(2/5) – (3/5)* log2(3/5) = 0.971

→ Gain(SWindows, Income) = Entropy(SWindows) – (10/22) *Entropy(Shigh) – (7/22) * Entropy(Smedium) – (5/22) * Entropy(Slow)

→ Gain(SWindows, Configuration) = Entropy(SWindows) – (8/22) *Entropy(Shigh) – (8/22) * Entropy(Smedium) – (6/22) * Entropy(Slow)

= 0.902 – (8/22) * 0.954 – (8/22) * 0.811 – (6/22) * 0

= 0.260

Xét thuộc tính Manufacturers:

Trang 21

Entropy(SSONY) = - (3/4)* log2(3/4) – (1/4)* log2(1/4) = 0.811Entropy(SHP) = - (3/4)* log2(3/4) – (1/4)* log2(1/4) = 0.811Entropy(SDELL) = - (6/8)* log2(6/8) – (2/8)* log2(2/8) = 0.811Entropy(SASUS) = - (3/5)* log2(3/5) – (2/5)* log2(2/5) = 0.971Entropy(SSAMSUNG) = - (1/1)* log2(1/1) = 0

→ Gain(SWindows, Manufacturers) = Entropy(SWindows) – (4/22) *Entropy(SSONY) – (4/22) * Entropy(SHP) – (8/22) * Entropy(SDELL) –(5/22) * Entropy(SASUS) – (1/22) * Entropy(SSAMSUNG)

= 0.902 – (4/22) * 0.811 – (4/22) * 0.811 – (8/22) * 0.811 – (5/22)

* 0.971 – (1/22) * 0

= 0.092 Trong các thuộc tính điều kiện trên ta thấy “Configuration” có độ lợi thông tin

lớn nhất nên thuộc tính này sẽ được chọn làm gốc

Bây giờ ta tiếp tục xét lần lượt từng nhánh trong Configuration.

Nhánh Configuration = high Trong nhánh Configuration = high, ta có:

Trang 22

Entropy(Ssenior) = - (1/2)* log2(1/2) – (1/2)* log2(1/2) = 1

→ Gain(Shigh, Age) = Entropy(Shigh) – (4/8) * Entropy(Syouth)– (2/8) * Entropy(Smiddle-aged) – (2/8) * Entropy(Ssenior)

= 0.954 – (4/8) * 0.811 – (2/8) * 1 – (2/8) * 1

= 0.049 Xét thuộc tính Sex:

Entropy(Smale) = - (2/3)* log2(2/3) – (1/3)* log2(1/3) = 0.918Entropy(Sfemale) = - (1/5)* log2(1/5) – (4/5)* log2(4/5) =0.722

→ Gain(Shigh, Sex) = Entropy(Shigh) – (3/8) * Entropy(Smale) – (5/8) * Entropy(Sfemale)

= 0.954 – (4/8) * 0.811 – (2/8) * 0 – (2/8) * 0

Trang 23

= 0.549

Xét thuộc tính Manufacturers:

Entropy(SSONY) = - (1/1)* log2(1/1) = 0Entropy(SDELL) = - (1/3)* log2(1/3) - (2/3)* log2(2/3) = 0.918Entropy(SASUS) = - (1/3)* log2(1/3) - (2/3)* log2(2/3) = 0.918Entropy(SSAMSUNG) = - (1/1)* log2(1/1) = 0

→ Gain(Shigh, Manufacturers) = Entropy(Shigh) – (1/8) * Entropy(SSONY) – (3/8) * Entropy(SDELL) – (3/8) *Entropy(SASUS) – (1/8) * Entropy(SSAMSUNG)

= 0.954 – (1/8) * 0 – (3/8) * 0.918 – (3/8) * 0.918 – (1/8) * 0

= 0.266 Trong các thuộc tính điều kiện trên ta thấy Income có độ lợi thông tin lớn nhất

nên thuộc tính này được chọn làm gốc

Bây giờ ta tiếp tục xét từng nhánh trong Income

Trang 24

Entropy(Ssenior) = - (1/1)* log2(1/1) = 0(YES)

→ Gain(Shigh, Age) = Entropy(Shigh) – (2/4) * Entropy(Syouth) –(1/4) * Entropy(Smiddle-aged) – (1/4) * Entropy(Ssenior)

= 0.811 – (2/4) * 1 – (1/4) * 0 – (1/4) * 0

= 0.311 Xét thuộc tính Sex:

Entropy(Smale) = - (2/2)* log2(2/2) = 0(yES)Entropy(Sfemale) = - (1/2)* log2(1/2) - (1/2) log2(1/2) = 1

→ Gain(Shigh, Sex) = Entropy(Shigh) – (2/4) * Entropy(Smale) (2/4) * Entropy(Sfemale)

-= 0.811 – (2/4) * 0 – (2/4) * 1

= 0.311 Xét thuộc tính Manufacturers:

Entropy(SSONY) = - (1/1)* log2(1/1) = 0Entropy(SDELL) = - (1/2)* log2(1/2) - (1/2)* log2(1/2) = 1Entropy(SASUS) = - (1/1)* log2(1/1) = 0

→ Gain(Shigh, Manufacturers) = Entropy(Shigh) – (1/4) *Entropy(SSONY) – (2/4) * Entropy(SDELL) – (1/4) *Entropy(SASUS)

= 0.811 – (1/4) * 0 – (2/4) * 1 – (1/4) * 0

= 0.311

Trang 25

Cả 3 thuộc tính trên đều có độ lợi thông tin bằng nhau nên ta chọn 1 trong 3

thuộc tính để làm gốc Chọn thuộc tính “Age” làm gốc.

Bây giờ ta tiếp tục xét từng nhánh trong Age:

Nhánh Age = middle- age

→Gain(Syouth, Sex) = Entropy(Syouth) – (1/2)*Entropy(Sfemale) – (1/2)*Entropy(Sfemale)

= 1 – (1/2) * 0– (1/2) * 0

= 1

Xét thuộc tính Manufacturers:

Entropy(SSONY) = - (1/1)* log2(1/1)= 0Entropy(SDELL) = - (1/1)* log2(1/1)= 0

→Gain(Syouth, Manufacturers) = Entropy(Syouth) –

Trang 27

Entropy(Smiddle-aged) = - (1/1)* log2(1/1) = 0Entropy(Ssenior) = - (2/4)* log2(2/4) – (2/4)* log2(2/4) = 1

→ Gain(Smedium, Age) = Entropy(Smedium) – (3/8) *Entropy(Syouth) – (1/8) * Entropy(Smiddle-aged) – (4/8) *Entropy(Ssenior)

= 0.811 – (3/8) * 0 – (1/8) * 0 – (4/8) * 1

= 0.311 Xét thuộc tính Sex:

Entropy(Smale) = - (3/3)* log2(3/3) = 0Entropy(Sfemale) = - (3/5)* log2(3/5) – (2/5)* log2(2/5) =0.971

→ Gain(Smedium, Sex) = Entropy(Smedium) – (3/8) *Entropy(Smale) – (5/8) * Entropy(Sfemale)

= 0.811 – (3/8) * 0 – (5/8) * 0.971

= 0.204 Xét thuộc tính Income:

Entropy(Shigh) = - (3/4)* log2(3/4) – (1/4)* log2(1/4) = 0.811Entropy(Smedium) = - (2/2)* log2(2/2) = 0

Entropy(Slow) = - (1/2)* log2(1/2) – (1/2)* log2(1/2) = 1

→Gain(Smedium, Income)=Entropy(Smedium)– (4/8) *Entropy(Shigh) – (2/8) * Entropy(Smedium) – (2/8) *Entropy(Slow)

Trang 28

→ Gain(Smedium, Manufacturers) = Entropy(Smedium) – (2/8) * Entropy(SSONY) – (2/8) * Entropy(SDELL) – (1/8) *Entropy(SASUS) – (3/8) * Entropy(SHP)

= 0.811 – (2/8) * 1 – (2/8) * 0 – (1/8) * 0 – (3/8) * 0.918

= 0.217 Trong các thuộc tính điều kiện trên ta thấy “Age” có độ lợi thông tin lớn nhất

nên thuộc tính này được chọn làm gốc

Bây giờ ta tiếp tục xét từng nhánh trong Age

Trang 29

Ssenior = {13, 17, 27, 47}

Entropy(Ssenior) = 1

Xét thuộc tính Sex:

Entropy(Smale) = - (2/2)* log2(2/2) = 0Entropy(Sfemale) = - (2/2)* log2(2/2) = 0

→ Gain(Ssenior, Sex) = Entropy(Ssenior) – (2/4) *Entropy(Smale) – (2/4) * Entropy(Sfemale)

= 1 – (2/4) * 0 – (2/4) * 0

= 1 Xét thuộc tính Income:

Entropy(Shigh) = - (1/2)* log2(1/2) – (1/2) log2(1/2)

= 1Entropy(Smedium) = - (1/1)* log2(1/1) = 0Entropy(Slow) = - (1/1)* log2(1/1) = 0

→ Gain(Ssenior, Income) = Entropy(Ssenior) – (2/4) *Entropy(Shigh) – (1/4) * Entropy(Smedium) – (1/4) *Entropy(Slow)

= 1 – (2/4) * 1 – (1/4) * 0 – (1/4) * 0

= 0.5

Trang 30

Xét thuộc tính Manufacturers:

Entropy(SSONY) = - (1/2)*log2(1/2) – (1/2)log2(1/2)

= 1Entropy(SHP) = - (1/2)* log2(1/2) – (1/2)* log2(1/2)

nên thuộc tính này được chọn làm gốc

Ngày đăng: 11/05/2018, 09:51

w