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