Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

ĐỒ ÁN THỰC HÀNH

TRÍ TUỆ NHÂN TẠO


CÂY QUYẾT ĐỊNH – I2

Ngành: CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn : Th.S Nguyễn Mạnh Hùng


Thành viên nhóm :

Phan Hoài Nam MSSV: Lớp: 17DTHB1


Phạm Hoàng Trung MSSV: Lớp: 17DTHB1
Nghĩa
Trần Nhật Nam MSSV: Lớp: 17DTHB1

TP. Hồ Chí Minh, 2019

2
PHẦN 1: CHẠY TAY CÂY QUYẾT ĐỊNH
STT Sepal Sepal Petal Petal Class
length width length width
1 5.1 3.5 1.4 0.2 Iis-setosa
2 4.9 3 1.4 0.2 Iis-setosa
3 4.7 3.2 1.3 0.2 Iis-setosa
4 4.6 3.1 1.5 0.2 Iis-setosa
5 5 3.6 1.4 0.2 Iis-setosa
6 7 3.2 4.7 1.4 Iris-Versicolor
7 6.4 3.2 4.5 1.5 Iris-Versicolor
8 6.9 3.1 4.9 1.5 Iris-Versicolor
9 5.5 2.3 4 1.3 Iris-Versicolor
10 6.4 2.8 5.6 2.2 Iris-Virginica
11 6.3 2.8 5.1 1.5 Iris-Virginica
12 6.1 2.6 5.6 1.4 Iris-Virginica
13 7.7 3 6.1 2.3 Iris-Virginica
14 6.3 3.4 5.6 2.4 Iris-Virginica
15 6.7 3.3 5.7 2.5 Iris-Virginica
16 6.7 3 5.2 2.3 Iris-Virginica
17 6.3 2.5 5 1.9 Iris-Virginica
18 6.5 3 5.2 2 Iris-Virginica
19 6.2 3.4 5.4 2.3 Iris-Virginica
20 5.9 3 5.1 1.8 Iris-Virginica
Bảng dữ liệu

Chuẩn hoá thuộc tính liên tục thành dữ liệu rời rạc:

Giá trị thuộc tính


Setosa Versicolor Virginica
(Sepal length)
(-, 5.6] 5 1 0
(5.6, 6.67] 0 1 8
(6.67,+) 0 2 3

Giá trị thuộc tính


Setosa Versicolor Virginica
(Sepal width)
(-, 2.73] 0 1 2
(2.73,3.16] 2 1 6
(3.16,+) 3 2 3

Giá trị thuộc Tính


Setosa Versicolor Virginica
(Petal length)
(-, 2.9] 5 0 0
(2.9, 4.5] 0 2 0
(4.5, +) 0 2 11

3
Giá trị thuộc tính
Setosa Versicolor Virginica
(Petal width)
(-, 0.967] 5 0 0
(0.967, 1.733] 0 4 2
(1.733, +) 0 0 9

Gọi tập S = [Se, Ve, Vi]


Entropy (S) = -PSelog2PSe -PVelog2PVe -
PVilog2PVi

= 4/20*log2 4/20 - 5/20*log2 5/20 - 11/20*log2 11/20 = 1.44

ĐỘ ĐO (INFORMATION GAIN):
Công thức chung:

SSepal length = [Se, Ve, Vi] Entropy


(-, 5.6] [5, 1, 0] 0.65
(5.6, 6.67] [0, 1, 8] 0.5
(6.67, +) [0, 2, 3] 0.97

 Gain(S, Sepal length); 1.44 -6/20*0.65 -9/20*0.5 -5/20*0.97= 0.7775

 Gain(S, Sepal width):

SSepal width = [Se, Ve, Vi] Entropy


(-, 2.73] [0, 1, 2] 0.918
(2.73,3.16] [2, 1, 6] 1.22
(3.16,+) [3, 2, 3] 1.56

 Gain(S, Sepal Width): 1.44 - 3/20*0.918 -9/20*1.22 - 8/20* 1.56 = 0.1293

4
 Gain(S, Petal length):
SPetal length = [Se, Ve, Vi] Entropy
(-, 2.9] [5, 0, 0] 0
(2.9, 4.5] [0, 2, 0] 0
(4.5, +) [0, 2,11] 0.619

 Gain(S, Pepal length): 1.44- 5/20*0 – 2/20*0 -13/20*0.619 = 1.037

 Gain(S, Petal width):

SPetal width = [Se, Ve, Vi] Entropy


(-, 0.967] [5, 0, 0] 0
(0.967, 1.73] [0, 4, 2] 0.918
(1.733, +) [0, 0, 9] 0

Gain(S, Petal width): 1.44 – 5/20*0 -9/20*0 -6/20*0.918 = 1.16

Ta có Gain ( s,sepal length) = 0.7775


Gain(S, Sepal Width)= 0.1293
Gain(S, Sepal length)= 1.037
Gain(S, Petal width) = 1.164
Nhận xét: Từ đây ta thấy độ đo của S đối với thuộc tính "Petal width" là lớn
nhất trong 4 thuộc tính. Như vậy ta quyết định chọn "Petal width" làm thuộc tính đầu
tiên để khai triển cây.

Hình 1: Khai triển cây theo thuộc tính "Petal width"

5
Tương tự như vậy, ta có thể tiến hành triển khai các nút ở bước tiếp theo:
 Petal width (S(-, 0.967]) S = [5, 0, 0] Entropy = 0

STT Sepal length Sepal width Petal length Petal width Class
1 5.1 3.5 1.4 0.2 Iris-Setosa
2 4.9 3 1.4 0.2 Iris-Setosa
3 4.7 3.2 1.3 0.2 Iris-Setosa
4 4.6 3.1 1.5 0.2 Iris-Setosa
5 5 3.6 1.4 0.2 Iris-Setosa

SSepal length = [Se, Ve, Vi] Entropy


(-, 5.63] [5, 0, 0] 0
(5.633,6.67] [0, 0, 0] 0
(6.667,+) [0, 0, 0] 0

SSepal width = [Se, Ve, Vi] Entropy


(-, 2.733] [0, 0, 0] 0
(2.733, 3.167] [2, 0, 0] 0
(3.167, +) [3, 0, 0] 0

SPetal length = [Se, Ve, Vi] Entropy


(-, 2.9] [5, 0, 0] 0
(2.9, 4.5] [0, 0, 0] 0
(4.5,+ ] [0, 0, 0] 0

Nhận xét: Vì các thuộc tính Sepal length, Sepal width và Petal length đều nhận duy nhất
Class Iris-Setosa trong quá trình khai triển nên với Petal width (S(-, 0.967]) nhận kết quả trả về
là Iris-Setosa

6
Hình 2 : Khai triển cây theo thuộc tính "Iris Setosa"

Tương tự như vậy, ta có thể tiến hành triển khai các nút ở bước tiếp theo:
 Petal width (S0.967,1,733]) S = [0, 4, 2] Entropy = 0,918

STT Sepal length Sepal width Petal length Petal width Class
6 7 3.2 4.7 1.4 Iris-Versicolor
7 6.4 3.2 4.5 1.5 Iris-Versicolor
8 6.9 3.1 4.9 1.5 Iris-Versicolor
9 5.5 2.3 4 1.3 Iris-Versicolor
11 6.3 2.8 5.1 1.5 Iris-Virginica
12 6.1 2.6 5.6 1.4 Iris-Virginica

SSepal length = [Se, Ve, Vi] Entropy


(-, 5.63] [0, 0, 0] 0
(5.633,6.67] [0, 1, 2] 0,918
(6.667,+) [0, 2, 0] 0

Gain=0,918-3/6*0,918=0,46

SSepal width = [Se, Ve, Vi] Entropy


(-, 2.733] [0, 1, 1] 1
(2.733, 3.167] [0, 1, 1] 1
(3.167, +) [0, 2, 0] 0

Gain=0,918-2/6*1-2/6*1=0,25

SPetal length = [Se, Ve, Vi] Entropy


(-, 2.9] [0, 0, 0] 0
(2.9, 4.5] [0, 1, 0] 0
(4.5,+ ] [0, 3, 2] 0.97
7
Gain=0,918-5/6*0,97=0,11
Ta có:
Gain sepal length =0,46
Gain sepal width=0,25
Gain petal length=0,11

Nhận xét: Từ đây ta thấy độ đo của S(2.7, 3.2] đối với thuộc tính "sepal length" là lớn
nhất. Như vậy ta có thể quyết định chọn "sepal length" làm thuộc tính tiếp theo để khai triển
cây.

Hình 3 : Khai triển cây theo thuộc tính "Sepal Length"

Tương tự như vậy, ta có thể tiến hành triển khai các nút ở bước tiếp theo:

§ Petal width: (S(1,733, +U]) S = [0, 0, 9] Entropy = 0


SSepal length = [Se, Ve, Vi] Entropy
(-u,5.633] [0, 0, 0] 0
(5.633-6.667] [0, 0, 8] 0
(6.667,+u) [0, 0, 1] 0

SSepal width = [Se, Ve, Vi] Entropy


(-u,2.733] [0, 0, 1] 0
(2.733,3.167) [0, 0, 5] 0
(3.167,+u) [0, 0, 3] 0

S
Sepal Sepal Petal Petal
T Class
length width length width
T
10 6.4 2.8 5.6 2.2 Iris-
8
Virginica
Iris-
13 7.7 3 6.1 2.3 Virginica
Iris-
14 6.3 3.4 5.6 2.4 Virginica
Iris-
15 6.7 3.3 5.7 2.5 Virginica
Iris-
16 6.7 3 5.2 2.3 Virginica
Iris-
17 6.3 2.5 5 1.9 Virginica
Iris-
18 6.5 3 5.2 2 Virginica
Iris-
19 6.2 3.4 5.4 2.3 Virginica
Iris-
20 5.9 3 5.1 1.8 Virginica

SPetal length = [Se, Ve, Vi] Entropy


(-u,2.9] [0, 0, 0] 0
(2.9,4.5] [0, 0, 0] 0
(4.5,+u) [0, 0, 9] 0

Nhận xét: Vì các thuộc tính Sepal length, Sepal width và Petal length đều nhận duy nhất
Class Iris- Virginica trong quá trình khai triển nên với Petal width (S(1,733, +U]) nhận kết quả trả
về là Iris-Virginica

Hình 3 : Khai triển cây theo thuộc tính "Iris-Virginica “

9
Tương tự như vậy, ta có thể tiến hành triển khai các nút ở bước tiếp theo:

§ Sepal length: (S(-u,5.63) S = [0, 2, 0] Entropy = 0,97

S
Sepal Sepal Petal Petal
T Class
length width length width
T
Iris-
9 5.5 2.3 4 1.3 Versicolor

Nhận xét: Vì các thuộc tính Sepal length nhận duy nhất Class Iris-Versicolor trong
quá trình khai triển nên với Sepal lenght : : (S(-u,5.63) nhận kết quả trả về là Iris-Versicolor

Hình 4 : Khai triển cây theo thuộc tính " Iris-Versicolor “

§ Sepal length: (S(5.6,6.7]) S = [0, 1, 10] Entropy = 0,5

SSepal width = [Se, Ve, Vi] Entropy


(-u,2.733] [0, 0, 2] 0
(2.733,3.167] [0, 1, 5] 0,65
(3.2,+u) [0, 0, 3] 0
Gain=0,5-0,65*6/11=0,145
S
Sepal Sepal Petal Petal
T Class
length width length width
T
Iris-
7 6.4 3.2 4.5 1.5 Versicolor

10
Iris-
10 6.4 2.8 5.6 2.2 Virginica
Iris-
11 6.3 2.8 5.1 1.5 Virginica
Iris-
12 6.1 2.6 5.6 1.4 Virginica
Iris-
14 6.3 3.4 5.6 2.4 Virginica
Iris-
15 6.7 3.3 5.7 2.5 Virginica
Iris-
16 6.7 3 5.2 2.3 Virginica
Iris-
17 6.3 2.5 5 1.9 Virginica
Iris-
18 6.5 3 5.2 2 Virginica
Iris-
19 6.2 3.4 5.4 2.3 Virginica
Iris-
20 5.9 3 5.1 1.8 Virginica

SPetal length = [Se, Ve, Vi] Entropy


(-u,2.9] [0, 0, 0] 0
(2.9,4.5] [0, 1, 0] 0
(4.5,+u) [0, 0, 10] 0

nhận xét: Vì các thuộc tính Sepal length nhận duy nhất Class Sepal width trong
quá trình khai triển nên với Sepal lenght : (S(5.6,6.7]) nhận kết quả trả về là Sepal width

Hình 5 : Khai triển cây theo thuộc tính " sepal width “

11
§ Sepal length: (S(6.667,+u)) S = [0, 2, 0] Entropy = 0,97

S
Sepal Sepal Petal Petal
T Class
length width length width
T
Iris-
6 7 3.2 4.7 1.4 Versicolor
Iris-
8 6.9 3.1 4.9 1.5 Versicolor

Nhận xét: Vì các thuộc tính Sepal length nhận duy nhất Class Iris-Versicolor trong
quá trình khai triển nên với Sepal lenght : (S(6.667,+u)) nhận kết quả trả về là Iris-Versicolor

Hình 6 : Khai triển cây theo thuộc tính " Iris-Versicolor “

§ Sepal width: (S(-u,2.7)) S = [0, 0, 1] Entropy = 0

S
Sepal Sepal Petal Petal
T Class
length width length width
T
Iris-
12 6.1 2.6 5.6 1.4 Virginica

Nhận xét: Vì các thuộc tính Sepal width nhận duy nhất Class Iris-Vinginica tron
quá trình khai triển nên với Sepal width: (S(-u,2.7)) nhận kết quả trả về là Iris-Vinginica

12
Hình 7 : Khai triển cây theo thuộc tính " Iris-Vinginica “

§ Sepal width: (S(2.7,3.167]) S = [0, 0, 1] Entropy = 0

S
Sepal Sepal Petal Petal
T Class
length width length width
T
Iris-
11 6.3 2.8 5.1 1.5 Virginica

Nhận xét: Vì các thuộc tính Sepal width nhận duy nhất Class Iris-Vinginica tron
quá trình khai triển nên với Sepal width: : (S(2.7,3.2]) nhận kết quả trả về là Iris-Vinginica

13
Hình 8 : Khai triển cây theo thuộc tính " Iris-Vinginica “

§ Sepal width: (S(3.167,+u)) S = [0, 0, 2] Entropy = 0

S
Sepal Sepal Petal Petal
T Class
length width length width
T
Iris-
7 6.4 3.2 4.5 1.5 Versicolor

Nhận xét: Vì các thuộc tính Sepal width nhận duy nhất Class Iris-Versicolor tron
quá trình khai triển nên với Sepal width: : : (S(3.167,+u]) nhận kết quả trả về là Iris-Versicolor

14
Hình 9 : Khai triển cây theo thuộc tính " Iris-Versicolor “

15
PHẦN 2: CHẠY CÂY QUYẾT ĐỊNH TRÊN WEKA
1. Nội dung File *arff:

2. Thực nghiệm cây quyết định: Chọn thuật toán ID3, Vẽ lại cây quyết định:
a. Kết quả chạy thuật toán ID3 trên Weka:

16
b. Vẽ cây quyết định:

3. Test cây đã tạo sử dụng cross-validation (=20) . Hãy cho biết tỉ lệ chính xác của bộ phân lớp, số
mẫu phân lớp đúng/ sai/ không phân lớp được. Diễn giải lại phân bố dữ liệu thông tin từ
Confusion Matrix. (Chụp ảnh màn hình )

17
Trong đó
Correctly Classified Instances 14 70 % // Là tỷ lệ % độ chính xác của Phân lớp
Incorrectly Classified Instances 4 20 % // Là tỷ lệ % độ không chính xác của Phân lớp
Kappa statistic 0.625
Mean absolute error 0.1481 // Là tỷ lệ % lỗi tuyệt đối của Phân lớp
Root mean squared error 0.3849
Relative absolute error 38.8889 % // Lỗi tương đối tuyệt đối
Root relative squared error 86.7077 %
UnClassified Instances 2 20% // Là tỷ lệ % không Phân lớp được
Total Number of Instances 20 // Tổng số thuộc tính đã được phân lớp

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class


1 0 1 1 1 1 Iris-Setosa
0.25 0.071 0.5 0.25 0.333 0.594 Iris-Versicolor
0.889 0.333 0.727 0.889 0.8 0.697 Iris-Virginica
Weighted Avg. 0.778 0.183 0.753 0.778 0.752 0.758

18
Ý nghĩa: Tổng cộng có 20 trường hợp phân lớp được trong đó có 14 phân lớp đúng
và 4 phân lớp sai và 2 trường hợp không phân lớp được.
- Trong 14 trường hợp phân lớp đúng thì:
+ Có 5 trường là hợp hoa Iris Setosa
+ Có 1 trường hợp là hoa Iris Versicolor
+ Có 8 trường hợp là hoa Iris Virginica
- Trong 4 trường hợp phân lớp sai thì:
+ Có 3 trường hợp là hoa Iris Versicolor
+ Có 1 trường hợp là hoa Iris Virginica
- Còn 2 trường hợp không phân lớp được là của hoa Iris Virginica

19

You might also like