Tải bản đầy đủ - 0 (trang)
CHƯƠNG 1: TÌM HIỂU ĐỀ TÀI BÀI TẬP LỚN

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

Tải bản đầy đủ - 0trang

Đề tài: Tìm hiểu cây quyết định và ID3

tài “ Tìm hiểu cây quyết định và ID3” để hỗ trợ người sử dụng có thẻ quyết định

mua 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.

- 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ỗi

dò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òn

thuộc tính “Class” là thuộc tính mục tiêu.



ID



Age



Salary



Class



1



30



65



Good



2



23



15



Bad



3



40



75



Good



4



55



40



Bad



5



55



100



Good



6



45



60



Good

5



Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3



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.



6

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3

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ến

trì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ự đốn của thuộc tính mục tiêu.



Hình 3.1.: Mơ tả cây quyết định



Age

H<=35



h>35



Salary

H<=40



Bad



Salary

h>40



Good



H<=50



Bad



h>50



Good



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.

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

7

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3



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 hay

thua).



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ủa

cây ta đưa ra tiêu chuẩn để đánh giá, một trong các tiêu chuẩn đó là độ lợi thơng

tin (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) -∑((|Sv | / |S|)* Entropy(Sv) )

Thuật toán ID3:

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

X={x1, x2,...,xn}

C là tập các giá trị phân lớp

C: X ─> C thực hiện gán nhãn cho các phần tử trong X

D= { D = {(x1, c(x1)), (x2, c(x2)),…, (xn, c(xn))} ⊆ X × C}

Nhiệm vụ: Dựa trên D, hãy xây dựng cây quyết định T xấp xỉ c.



8

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3

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ãn

phổ 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,

• Trả về t.



Atributes – { A*}, Target).



}



9

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3

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

ID3( D, Atributes, Target)

{

1.

2.

3.

4.

5.

6.

7.



t= createNode().

IF IF ∀(x, c(x)) ∈ D: c(x) = 1 THEN label(t) = ‘+’ return(t) ENDIF.

IF ∀(x, c(x)) ∈ D: c(x) = 0 THEN label(t) = ‘-’ return(t) ENDIF.

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

IF Attributes = ∅ THEN return(t) ENDIF.

A* = argmaxA∈Attributes(Gain(D, A)).

FOREACH a∈A* DO

Da = {(x, c(x)) ∈ D: x| A* = a}

IF Da = ∅ THEN

t’ = createNode()

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

createEdge(t, a, t’)

ELSE

createEdge(t, a, ID3(Da, Attributes – {A*}, Target))

ENDIF

ENDDO

8. return(t)

}



10

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3



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:

Day

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

D14



Outlook

Sunny

Sunny

Overcast

Rain

Rain

Rain

Overcast

Sunny

Sunny

Rain

Sunny

Overcast

Overcast

Rain



Temperature

Hot

Hot

Hot

Mild

Cool

Cool

Cool

Mild

Cool

Mild

Mild

Mild

Hot

Mild



Humidity

High

High

High

High

Normal

Normal

Normal

High

Normal

Normal

Normal

High

Normal

High



Wind

Weak

Strong

Weak

Weak

Weak

Strong

Strong

Weak

Weak

Weak

Strong

Strong

Weak

Strong



Play ball

No

No

Yes

Yes

Yes

No

Yes

No

Yes

Yes

Yes

Yes

Yes

No



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ộc

tí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ẫu

thuộ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( S Weak) – (6/14) *

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



11

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3

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

Gain( S, Outlook) = 0.246

Gain( S, Temperature) = 0.029

Gain( S, Humidity ) = 0.151

Trong các thuộc tính điều kiện trên ta thấy “Outlook” có độ lơi thơng lớn nhất

nên thuộc tính này được chọn làm gốc của cây quyết định.

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



12

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3

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= Yes

Rule 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”.



13

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3



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

3.1. Bài toán



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

14

Nhóm 5 – Lớp KHMT4 – K9



Đề tài: Tìm hiểu cây quyết định và ID3



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êu

thị miền Bắc trong năm gần đây.Từ việc chọn các giượi ý trong từng thuộc tính ,

người mua có thể quyết định được mình có nên mua máy tính này hay khơ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ất

hiệ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ính

như

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



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:

15

Nhóm 5 – Lớp KHMT4 – K9



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

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

Tải bản đầy đủ ngay(0 tr)

×