Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1of 45

Tập dữ liệu ban đầu

STT Màu tóc Chiều cao Cân nặng Dùng thuốc? Kết quả
1 Đen Tầm thước Nhẹ Không Bị rám
2 Đen Cao Vừa phải Có Không
3 Râm Thấp Vừa phải Có Không
4 Đen Thấp Vừa phải Không Bị rám
5 Bạc Tầm thước Nặng Không Bị rám
6 Râm Cao Nặng Không Không
7 Râm Tầm thước Nặng Không Không
8 Đen Thấp Nhẹ Có Không
9 Râm Cao Nặng Có Không
10 Bạc Thấp Nhẹ Không Bị rám
11 Đen Thấp Nặng Có Bị rám
12 Râm Cao Nặng Không Không
- Train set: {1, … , 8}
- Test set : {9, …, 12}

Giai đoạn 2: khoảng cách từ các điểm cần dự đoán đến các điểm trong dữ liệu huấn luyện
p(i) d((9), p(i)) d((10), p(i)) d((11), p(i)) d((12), p(i))
1 2.65 2.24 2.45 2.45 Bị rám
2 1.41 3.16 2.24 1.73 Không
3 2.24 1.73 1.41 2.45 Không
4 2.65 2.24 1.41 2.45 Bị rám
5 1.73 2.24 2.45 1.41 Bị rám
6 1.00 3.00 2.45 0.00 Không
7 1.41 2.45 1.73 1.00 Không
8 3.00 2.24 2.00 3.16 Không

Bước 4 Bảng kết quả


STT Thực tế Dự đoán
9 Không Không
10 Bị rám Bị rám
11 Bị rám Không
12 Không Không

Đánh giá mô hình


Ma trận nhằm lẫn
Predict Accuracy = (TP+TN)/(TP+TN+FP+FN)
Positive Negative Precision = TP/(TP+FP)
Positive 1 1 Recall = TP/(TP+FN)
Actual
Negative 0 2 F1-score = 2*(Precision*Recall) / (Precision

Positive: Bị Rám
Negative: Không
Giai đoạn 1:Tiền xử lý dữ liệu ( Chuyển đổi dữ liệu) 1.2. Dữ liệu sau khi chuyển đổi

Giả sử sử dụng độ đo Euclid, do đó cần


chuyển đổi dữ liệu về dạng số để có thể TT Màu tóc Chiều cao Cân nặng
tính độ đo khoảng cách

1.1. Bảng quy đổi 1 0 1 0


Thuộc tính Giá trị ban đầu Giá trị mới 2 0 2 1
Đen 0 3 1 0 1
Màu tóc Râm 1 4 0 0 1
Bạc 2 5 2 1 2
Thấp 0 6 1 2 2
Chiều cao Tầm thước 1 7 1 1 2
Cao 2 8 0 0 0
Nhẹ 0 9 1 2 2
Vừa phải 1 10 2 0 0
Cân nặng Nặng 2 11 0 0 2
Không 0 12 1 2 2
Dùng thuốc
có 1
Kết quả Không 0
Bị rám 1
Giai đoạn 3 Xác định tập k -láng giềng gần (NBs) và dự đoán
NBs(p(9)) = {(2),(6), (7)} NBs(p(11)) = {(3),(4), (7)}
Dự đoán cho p(9) Số lượng Dự đoán cho p(11)
Không (0) 3 Không (0)
Bị rám (1) 0 Bị rám (1)
=> Kết quả (9): Không => Kết quả (11): Không

NBs(p(10)) = {(1),(3), (4)} NBs(p(12)) = {(5),(6), (7)}


Dự đoán cho p(10) Số lượng Dự đoán cho p(12)
Không (0) 1 Không (0)
Bị rám (1) 2 Bị rám (1)
=> Kết quả (10): Bị Rám => Kết quả (12): Không
P+TN)/(TP+TN+FP+FN) 0.75
1
0.5
Precision*Recall) / (Precision + Recall) 0.66666667
khi chuyển đổi

Dùng
Kết quả
thuốc?

0 1
1 0
1 0
0 1
0 1
0 0
0 0
1 0
1 0
0 1
1 1
0 0

(3),(4), (7)}
Số lượng
2
1

(5),(6), (7)}
Số lượng
2
1
STT Màu tóc Chiều cao Cân nặng Dùng thuốc? Kết quả

1 Đen Tầm thước Nhẹ Không Bị rám


2 Đen Cao Vừa phải Có Không
3 Râm Thấp Vừa phải Có Không
4 Đen Thấp Vừa phải Không Bị rám
5 Bạc Tầm thước Nặng Không Bị rám
6 Râm Cao Nặng Không Không
7 Râm Tầm thước Nặng Không Không
8 Đen Thấp Nhẹ Có Không
9 Râm Cao Nặng Có Không
10 Bạc Thấp Nhẹ Không Bị rám
11 Đen Thấp Nặng Có Bị rám
12 Râm Cao Nặng Không Không
- Train set: {1, … , 8}
- Test set : {9, …, 12}
Bước 1
Khoảng cách từ các điểm dự đoán đến các điểm trong tập dữ liệu
p(i) d((9), p(i)) d((10), p(i)) d((11), p(i)) d((12), p(i)) Kết quả
1 4 2 3 3 Bị rám
2 2 4 2 3 Không
3 2 3 2 3 Không
4 4 2 2 3 Bị rám
5 3 2 3 2 Bị rám
6 1 3 3 0 Không
7 2 3 3 1 Không
8 3 2 1 4 Không

Bước 4 Bảng kết quả


STT Thực tế Dự đoán
9 Không Không
10 Bị rám Bị rám
11 Bị rám Không
12 Không Không

Đánh giá mô hình


Ma trận nhằm lẫn
Predict Accuracy = (TP+TN)/(TP+TN+FP+FN
Positive Negative Precision = TP/(TP+FP)
Positive 1 1 Recall = TP/(TP+FN)
Actual
Negative 0 2 F1-score = 2*(Precision*Recall) / (Prec

Positive: Bị Rám
Negative: Không
Ghi chú:

d((9), (1)) = 4 vì
(1) (9) So sánh
Màu tóc Râm Đen Khác
Chiều cao Cao Tầm thước Khác
Cân nặng Nặng Nhẹ Khác
Dùng thuốc? Có Không Khác
=> Có 4 thuộc tính khác nhau do đó khoảng cách hamming từ (9) đến (1) là 4

Bước 2
Xác định tập k -láng giềng gần (NBs) và dự đoán
NBs(p(9)) = {(2),(6), (7)} NBs(p(11)) = {(3),(4), (7)}
Dự đoán cho p(9) Số lượng Dự đoán cho p(11)
Không (0) 3
Bị rám (1) 0
=> Kết quả (9): Không => Kết quả (11): Không

NBs(p(10)) = {(1),(4), (5)} NBs(p(12)) = {(5),(6), (7)}


Dự đoán cho p(10) Số lượng Dự đoán cho p(12)
Không (0) 0
Bị rám (1) 3
=> Kết quả (10): Bị Rám => Kết quả (12): Không
P+TN)/(TP+TN+FP+FN) 0.75
1
0.5
Precision*Recall) / (Precision + Recall) 0.666666667
ến (1) là 4

(p(11)) = {(3),(4), (7)}


đoán cho p(11) Số lượng
Không (0) 3
Bị rám (1) 0
Kết quả (11): Không

(p(12)) = {(5),(6), (7)}


đoán cho p(12) Số lượng
Không (0) 2
Bị rám (1) 1
Kết quả (12): Không
Tập dữ liệu ban đầu Bước 1:
STT Màu tóc Chiều cao Cân nặng Dùng thuốc?Kết quả
1 Đen Tầm thước Nhẹ Không Bị rám
2 Đen Cao Vừa phải Có Không
3 Râm Thấp Vừa phải Có Không
4 Đen Thấp Vừa phải Không Bị rám
5 Bạc Tầm thước Nặng Không Bị rám
6 Râm Cao Nặng Không Không
7 Râm Tầm thước Nặng Không Không
8 Đen Thấp Nhẹ Có Không Bước 2:
9 Râm Cao Nặng Có Không
10 Bạc Thấp Nhẹ Không Bị rám
11 Đen Thấp Nặng Có Bị rám
12 Râm Cao Nặng Không Không

Bước 3

Dự đoán X1 = (Màu tóc=Râm, Chiều cao = Cao, Cân nặng = Nặng, Dùng thuốc = Có)
p(X1|c1) = p(Màu tóc=Râm|c1)*p(Chiều cao = Cao|c1)*p(Cân nặng = Nặng|c1)*p(Dùng th
p(X1|c2) = p(Màu tóc=Râm|c2)*p(Chiều cao = Cao|c2)*p(Cân nặng = Nặng|c2)*p( Dùng t

p(c1|X1) * p(X1) = p(X1|c1) * p(c1) = 0,0576*5/8 = 0,036


p(c2|X1) * p(X1) = p(X1|c2) * p(c2) = 0*3/8 = 0

Suy ra, p(c1|X1) > p(c2|X1)


Vậy X1 thuộc lớp c1 hay X1 không bị rám nắng

Dự đoán X2 = (Màu tóc=Bạc, Chiều cao = Thấp, Cân nặng = Nhẹ, Dùng thuốc = Không)
p(X2|c1) = p(Màu tóc=Bạc|c1)*p(Chiều cao = Thấp|c1)*p(Cân nặng = Nhẹ|c1)*p( D
p(X2|c2) = p(Màu tóc=Bạc|c2)*p(Chiều cao =Thấp|c2)*p(Cân nặng =Nhẹ|c2)*p( D

p(c1|X2) * p(X2) = p(X2|c1) * p(c1) = 0 * 5/8 = 0


p(c2|X2) * p(X2) = p(X2|c2) * p(c2) = 0,037*3/8 =0,013888

Suy ra, p(c1|X2) < p(c2|X2)


Vậy X2 thuộc lớp c2 hay X2 bị rám nắng

Dự đoán X3 = (Màu tóc = Đen, Chiều cao = Thấp, Cân nặng = Nặng, Dùng thuốc =Có)
p(X3|c1) = p(Màu tóc=Bạc|c1)*p(Chiều cao = Thấp|c1)*p(Cân nặng = Nhẹ|c1)*p( D
p(X3|c2) = p(Màu tóc=Bạc|c2)*p(Chiều cao =Thấp|c2)*p(Cân nặng =Nhẹ|c2)*p( D

p(c1|X3) * p(X3) = p(X3|c1) * p(c1) = 0,0384 * 5/8 = 0,024


p(c2|X3) * p(X3) = p(X3|c2) * p(c2) = 0*3/8 = 0

Suy ra, p(c1|X3) > p(c2|X3)


Vậy X3 thuộc lớp c2 hay X3 không bị rám nắng

Dự đoán X4 = (Màu tóc = Râm, Chiều cao = Cao, Cân nặng = Nặng, Dùng thuốc = Không)
p(X4|c1) = p(Màu tóc = Râm|c1)*p(Chiều cao = Cao|c1)*p(Cân nặng = Nặng|c1)*p
p(X4|c2) = p(Màu tóc=Bạc|c2)*p(Chiều cao =Thấp|c2)*p(Cân nặng =Nhẹ|c2)*p( D

p(c1|X4) * p(X4) = p(X4|c1) * p(c1) = 0,0384 * 5/8 = 0,024


p(c2|X4) * p(X4) = p(X4|c2) * p(c2) = 0*3/8 = 0

Suy ra, p(c1|X4) > p(c2|X4)


Vậy X2 thuộc lớp c2 hay X4 không bị rám nắng.

Bước 4 Bảng kết quả


STT Thực tế Dự đoán
9 Không Không
10 Bị rám Bị rám
11 Bị rám Không
12 Không Không

Đánh giá mô hình


Ma trận nhằm lẫn
Predict Accuracy = (TP+TN)/(TP+TN+FP+FN)
Positive Negative Precision = TP/(TP+FP)
Positive 1 1 Recall = TP/(TP+FN)
Actual
Negative 0 2 F1-score = 2*(Precision*Recall) / (Precision + Rec

Positive: Bị Rám
Negative: Không
Biểu diễn lại bài toán
Phân lớp:
c1(Kết quả = Không)
c2(Kết quả = Bị rám)
Mẫu mới
X1 = (Màu tóc=Râm, Chiều cao = Cao, Cân nặng = Nặng, Dùng thuốc = Có)
X2 = (Màu tóc=Bạc, Chiều cao = Thấp, Cân nặng = Nhẹ, Dùng thuốc = Không)
X3 = (Màu tóc = Đen, Chiều cao = Thấp, Cân nặng = Nặng, Dùng thuốc =Có)

Xác suất cho mỗi phân lớp


p(c1) = 5/8
p(c2) = 3/8

= Nặng|c1)*p(Dùng thuốc = Có|c1) = 3/5*2/5*2/5*3/5 =0,0576


= Nặng|c2)*p( Dùng thuốc = Có|c2) = 0*0*0*⅓=0

nặng = Nhẹ|c1)*p( Dùng thuốc = Không|c1) = 0*2/5*1/5*2/5 = 0


nặng =Nhẹ|c2)*p( Dùng thuốc = Không|c2) = 1/3*1/3*1/3*1 = 0,037

nặng = Nhẹ|c1)*p( Dùng thuốc = Không|c1) = 2/5*2/5*2/5*3/5 = 0,0384


nặng =Nhẹ|c2)*p( Dùng thuốc = Không|c2) = 2/3*1/3*1/3*0 = 0
= Không)
n nặng = Nặng|c1)*p( Dùng thuốc = Không|c1) = 3/5*2/5*2/5*2/5 = 0,0384
nặng =Nhẹ|c2)*p( Dùng thuốc = Không|c2) = 0*0*1/3*1= 0

N+FP+FN) 0.75
1
0.5
call) / (Precision + Recall) 0.66666667
STT Màu tóc Chiều cao Cân nặng Dùng thuốc?Kết quả
1 Đen Tầm thước Nhẹ Không Bị rám
2 Đen Cao Vừa phải Có Không
3 Râm Thấp Vừa phải Có Không
4 Đen Thấp Vừa phải Không Bị rám
5 Bạc Tầm thước Nặng Không Bị rám
6 Râm Cao Nặng Không Không
7 Râm Tầm thước Nặng Không Không
8 Đen Thấp Nhẹ Có Không
9 Râm Cao Nặng Có Không
10 Bạc Thấp Nhẹ Không Bị rám
11 Đen Thấp Nặng Có Bị rám
12 Râm Cao Nặng Không Không

Gain(S,x = Màu tóc) đạt giá trị lớn nhất


Suy ra chọn Màu tóc làm thuộc tính phân chia cho tập S

Chia tập dữ liệu S ban đầu theo Màu tóc ta được


S_Đen = [1, 2, 4, 8]
S_Râm = [3, 6, 7]
S_Bạc = [5]

STT Màu tóc Chiều cao Cân nặng Dùng thuốc? Kết quả (1) Xét tập S_Đen
1 Đen Tầm thước Nhẹ Không Bị rám
2 Đen Cao Vừa phải Có Không
4 Đen Thấp Vừa phải Không Bị rám
8 Đen Thấp Nhẹ Có Không

STT Màu tóc Chiều cao Cân nặng Dùng thuốc? Kết quả
3 Râm Thấp Vừa phải Có Không Xét S_Râm => Đồng nhất về class (Khôn
6 Râm Cao Nặng Không Không
7 Râm Tầm thước Nặng Không Không

STT Màu tóc Chiều cao Cân nặng Dùng thuốc? Kết quả Xét S_Bạc => Đồng nhất về class (Bị rám
5 Bạc Tầm thước Nặng Không Bị rám
Vậy mô hình cây quyết đinh từ tập huấn

Dự đoán cho tập test


9 Râm Cao Nặng Có ?
10 Bạc Thấp Nhẹ Không ?
11 Đen Thấp Nặng Có ?
12 Râm Cao Nặng Không ?

Dùng mô hình dự đoán ta được


class (9) = Không
class (10) = Bị rám
Class (11) = Không
class (12) =Không

Bước 4 Bảng kết quả


STT Thực tế Dự đoán
9 Không Không
10 Bị rám Bị rám
11 Bị rám Không
12 Không Không

Đánh giá mô hình


Ma trận nhằm lẫn
Predict Accuracy = (TP+TN)/(TP+TN+FP+FN)
Positive Negative Precision = TP/(TP+FP)
Positive 1 1 Recall = TP/(TP+FN)
Actual
Negative 0 2 F1-score = 2*(Precision*Recall) / (Precision + Re

Positive: Bị Rám
Negative: Không
Tính entropy tổng quát
S{3+, 5-} |S| = 8
Bị rám (+) Không (-) |S| p(Bị rám) p(Không)
3 5 8 3/8 5/8
Entropy(S) = 0.954

Tính entropy đối với từng thuộc tính


x = Màu tóc v_x ={Đen, râm, bạc}
S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)
Đen 2 2 4 1
Râm 0 3 3 0
Bạc 1 0 1 0
Entropy(S, x=Màu tóc) = 4/8 *Entropy(Màu tóc_Đen) + 3/8 * Entropy(Màu tóc_Râm) + 1/8 * Entropy(Màu tóc_B
0.5
Gain(S,x=Màu tóc) = Entropy(S) - Entropy(S,x) = 0.454

x = Chiều cao v_x={Cao, Tầm thước, Thấp}


S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)
Cao 0 2 2 0
Tầm thước 2 1 3 0.918
Thấp 1 2 3 0.918
Entropy(S,x = Chiều cao) = 0.689
Gain(S,x=Chiều cao) = Entropy(S) - Entropy(S,x) = 0.266

x = Cân nặng v_x={Nặng, vừa phải, nhẹ}


S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)
Nặng 1 2.00 3 0.918
Vừa phải 1 2 3 0.918
Nhẹ 1 1 2 1
Entropy(S,x = Cân nặng) = 0.939
Gain(S,x=Chiều cao) = Entropy(S) - Entropy(S,x) = 0.016

x = Dùng thuốcv_x={Có, Không}


S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)
Có 0 3 3 0
Không 3 2 5 0.971
Entropy(S,x = Dùng thuốc) = 0.607
Gain(S,x=Dùng thuốc) = Entropy(S) - Entropy(S,x) 0.348

ạt giá trị lớn nhất


m thuộc tính phân chia cho tập S

n đầu theo Màu tóc ta được


(1)
(2)
(3)

S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)


Đen 2 2 4 1
x= Chiều cao v={Cao, Tầm thước, Thấp}
S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)
Cao 0 1 1 0
Tầm thước 1 0 1 0
Thấp 1 1 2 1
Entropy(S|x) = 0.5
Gain(S,x) = Entropy(S) - Entropy(S|x) = 0.5

x = Cân nặng v_x={Nặng, vừa phải, nhẹ}


S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)
Nặng 0 0 0 0
Vừa phải 1 1 2 1
Nhẹ 1 1 2 1
Entropy(S|x) = 1
Gain(S,x) = Entropy(S) - Entropy(S|x) = 0

x =Dùng thuốc v_x={Có, Không}


S_v Bị rám (+) Không (-) |S_v| Entropy(S_v)
Có 0 2 2 0
Không 2 0 2 0
Entropy(S|x) = 0
Gain(S,x) = Entropy(S) - Entropy(S|x) = 1

Gain (S_Đen, x = Dùng thuốc) là lớn nhất => dùng "Dùng thuốc" làm thuộc tính phân chia tiếp của S_Đen
Chia S_Đen theo 'Dùng thuốc'
S_Đen_Có = [2, 8] => Đồng nhất class (Không) cho nút (lá) và dừng
S_Đen_Không = [1,4] => Đồng nhất class (Bị rám) => gán thuộc class (Bị rám) cho nút (lá) và dừng

1 Đen Tầm thước Nhẹ Không Bị rám


4 Đen Thấp Vừa phải Không Bị rám
2 Đen Cao Vừa phải Có Không
8 Đen Thấp Nhẹ Có Không

S_Râm => Đồng nhất về class (Không) => gán nhãn cho nút = 'Không'

S_Bạc => Đồng nhất về class (Bị rám) => gán nhãn cho nút = 'Bị rám'
mô hình cây quyết đinh từ tập huấn luyện

TP+TN)/(TP+TN+FP+FN) 0.75
1
0.5
(Precision*Recall) / (Precision + Recall) 0.6666666667
1/8 * Entropy(Màu tóc_Bạc)
hia tiếp của S_Đen

(lá) và dừng
0.75
1
0.5
0.6666666667
Hours of Mid-term Final
Student ID
study grade grade
1 10 80 90
2 8 75 85
3 5 60 70
4 12 90 95
5 6 65 75
6 9 85 88
7 7 70 80
8 11 88 92
9 4 50 60
10 8 72 78
11 10 78 87
12 3 45 55

Dự đoán cho student (ID = 10)


Bước 1: Tính kc từ studend(id = 10) đến tất cả các student khác Bươc 2: Xác định tập láng giềng g
d((10), (1)) 14.560 NBs(10) = {(2),(5),(7)}
d((10), (2)) 7.616
d((10), (3)) 14.731
d((10), (4)) 25.080
d((10), (5)) 7.874
d((10), (6)) 16.432
d((10), (7)) 3.000
d((10), (8)) 21.471
d((10), (9)) 28.705

Dự đoán cho student (ID = 10)


Bước 1: Tính kc từ studend(id = 10) đến tất cả các student khác Bươc 2: Xác định tập láng giềng g
d((11), (1)) 3.606 NBs(10) = {(2),(5),(7)}
d((11), (2)) 4.123
d((11), (3)) 25.259
d((11), (4)) 14.560
d((11), (5)) 18.138
d((11), (6)) 7.141
d((11), (7)) 11.045
d((11), (8)) 11.225
d((11), (9)) 39.357

Dự đoán cho student (ID = 10)


Bước 1: Tính kc từ studend(id = 10) đến tất cả các student khác Bươc 2: Xác định tập láng giềng g
d((12), (1)) 49.990 NBs(10) = {(2),(5),(7)}
d((12), (2)) 42.720
d((12), (3)) 21.307
d((12), (4)) 60.877
d((12), (5)) 28.443
d((12), (6)) 52.202
d((12), (7)) 35.581
d((12), (8)) 57.289
d((12), (9)) 7.141

Kết quả
Hours of Mid-term Final Predict by
Student ID
study grade grade KNN (k = 3)
10 8 72 78 80
11 10 78 87 87.67
12 3 45 55 68.33

MSE =1/9* [(78-80)^2+(87-87,67)^2 +( 55-68,33)^2] 20.237533333333


RMSE = sqrt(MSE) 4.4986146015561
MAE = 1/9 (|78-80|+|87-87,67| +| 55-68,33|) = 1.7777777777778
ươc 2: Xác định tập láng giềng gần nhất Bước 3: Xác định giá trị Final Grade cho std (id = 10)
Bs(10) = {(2),(5),(7)} ID Final grade
2 85
5 75
7 80

Final grade ((10)) = (85+75+80)/3 = 80

ươc 2: Xác định tập láng giềng gần nhất Bước 3: Xác định giá trị Final Grade cho std (id = 10)
Bs(10) = {(2),(5),(7)} ID Final grade
1 90
2 85
6 88

Final grade ((11)) = (90+85+88)/3 = 87.67

ươc 2: Xác định tập láng giềng gần nhất Bước 3: Xác định giá trị Final Grade cho std (id = 10)
Bs(10) = {(2),(5),(7)} ID Final grade
3 70
5 75
9 60

Final grade ((12)) = (70+75+60)/3 = 68.33


Temperat Play
Day Outlook Humidity Wind
ure Tennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
D15 Sunny Hot High Weak ?
D16 Rain Mild Normal Strong ?
D17 Overcast Cool Normal Strong ?
D18 Rain Cool High Weak ?

Dự đóán
D15 = ( Sunny, Hot, High, Weak)
P(D15 |c1) = P(Out. = Sunny |c1) * P(Temp. = Hot|c1) * P(Humid. = High|c1) * P (Wind =
= 2/9 * 2/9 *3/9 * 6/9 = 0.01097394
P(D15 |c2) = P(Out. = Sunny |c2) * P(Temp. = Hot|c2) * P(Humid. = High|c2) * P (Wind =
= 3/5 * 2/5 *4/5 *2/5 = 0.0768

P(c1|D15)* P(D15) = P(D15|c1) * P(c1) = 0.00705467


P(c2|D15)* P(D15) = P(D15|c2) * P(c2) = 0.02742857
Suy ra P(c1|D15) < P(c2|D15)
Vậy mô hình dự đoán cho lớp D15 là c2 (hay PlayTennis (D15) = No)
D16 = (Rain, Mild, Normal, Strong)
P(D16 |c1) = P(Out. =Rain|c1) * P(Temp. = Mild|c1) * P(Humid. = Normal|c1) * P (Wind
= 3/9*4/9*6/9*3/9 = 0.03292181
P(D16 |c2) = P(Out. =Rain|c2) * P(Temp. = Mild|c2) * P(Humid. = Normal|c2) * P (Wind
= 2/5 *2/5 * 1/5 * 3/5 = 0.0192

P(c1|D16)* P(D16) = P(D16|c1) * P(c1) = 0.02116402


P(c2|D16)* P(D16) = P(D16|c2) * P(c2) = 0.00685714
Suy ra P(c1|D16) > P(c2|D16)
Vậy mô hình dự đoán cho lớp D16 là c1 (hay PlayTennis (D16) = Yes)
D17 = (Overcast, Cool, Normal, Strong)
P(D17 |c1) = P(Out. = Overcast |c1) * P(Temp. = Cool|c1) * P(Humid. =Normal|c1) * P (W
= 4/9 * 3/9 *6/9 * 3/9 = 0.03292181
P(D17 |c2) = P(Out. = Overcast |c2) * P(Temp. = Cool|c2) * P(Humid. =Normal|c2) * P (W
= 0*1/5*1/5*3/5 = 0

P(c1|D17)* P(D17) = P(D17|c1) * P(c1) = 0.02116402


P(c2|D17)* P(D17) = P(D17|c2) * P(c2) = 0
Suy ra P(c1|D17) > P(c2|D17)
Vậy mô hình dự đoán cho lớp D17 là c1 (hay PlayTennis (D17) = Yes)
D16 = (Rain, Cool, High, Weak)
P(D18 |c1) = P(Out. = Rain |c1) * P(Temp. = Cool|c1) * P(Humid. = High|c1) * P (Wind =
= 3/9 * 3/9 *3/9 * 6/9 = 0.02469136
P(D18 |c2) = P(Out. = Rain |c2) * P(Temp. = Cool|c2) * P(Humid. = High|c2) * P (Wind =
= 2/5*1/5*1/5*2/5 = 0.0064

P(c1|D18)* P(D18) = P(D18|c1) * P(c1) = 0.01587302


P(c2|D18)* P(D18) = P(D18|c2) * P(c2) = 0.00228571
Suy ra P(c1|D18) > P(c2|D18)
Vậy mô hình dự đoán cho lớp D18 là c1 (hay PlayTennis (D18) = Yes)

Kết quả
Temperat Play
Day Outlook Humidity Wind
ure Tennis
D15 Sunny Hot High Weak No
D16 Rain Mild Normal Strong Yes
D17 Overcast Cool Normal Strong Yes
D18 Rain Cool High Weak Yes
S= { 9+ , 5- }

y ∈ { C1 = (PlayTennis = Yes), C2 = (PlayTennis = No) }


P( y = C1) = 9/14
P( y = C2) = 5/14

Humid. = High|c1) * P (Wind = Weak|c1)

Humid. = High|c2) * P (Wind = Weak|c2)

mid. = Normal|c1) * P (Wind = Strong|c1)

mid. = Normal|c2) * P (Wind = Strong|c2)


D16) = Yes)

P(Humid. =Normal|c1) * P (Wind = Strong|c1)

P(Humid. =Normal|c2) * P (Wind = Strong|c2)

D17) = Yes)

umid. = High|c1) * P (Wind = Weak|c1)

umid. = High|c2) * P (Wind = Weak|c2)

D18) = Yes)
A1(2, 10), A2(2,5), A3(8,4), A4(5,8), A5(7,5), A6(6,4), A7(1,2), A8(4,9)
Số cụm k = 3
VL1
Bước 1: tính khoảng cách từ các điểm dữ liệu đến tâm 3 cụm
P(i) X1 X2 cụm d(m1, P(i)) d(m2, P(i)) d(m3, P(i))
A1 2 10 0.00 3.61 8.06
A2 2 5 5.00 4.24 3.16
A3 8 4 8.49 5.00 7.28
A4 5 8 3.61 0.00 7.21
A5 7 5 7.07 3.61 6.71
A6 6 4 7.21 4.12 5.39
A7 1 2 8.06 7.21 0.00
A8 4 9 2.24 1.41 7.62
B2: Xác định các cụm và cập nhật tâm mới
Mô tả lại bài toán Cụm Tâm
Gom dữ liệu thành 3 cụm (C1,C2,C3) C1 = {A1} m1
Gọi m1, m2, m3 lần lượt là tâm của 3 cụm C1,C2,C3 C2 = {A3, A4, A5, A6, A8} m2
Trạng thái Ban đầu: C3 = {A2, A7} m3
X1 X2
m1 = A1 2 10
m2 = A4 5 8
m3 = A7 1 2

X2
12

10

0
0 1 2 3 4 5 6 7 8 9
VL2
ểm dữ liệu đến tâm 3 cụm Bước 1: tính khoảng cách từ các điểm dữ liệu đến tâm 3 cụm
Cụm mới d(m1, P(i)) d(m2, P(i)) d(m3, P(i)) Cụm mới
C1 0.00 5.66 6.52 C1
C3 5.00 4.12 1.58 C3
C2 8.49 2.83 6.52 C2
C2 3.61 2.24 5.70 C2
C2 7.07 1.41 5.70 C2
C2 7.21 2.00 4.53 C2
C3 8.06 6.40 1.58 C3
C2 2.24 3.61 6.04 C2
B2: Xác định các cụm và cập nhật tâm mới
X1 X2 Cụm Tâm X1 X2
2.00 10.00 C1 = {A1, A8} m1 3.00 9.50
6.00 6.00 C2 = {A3, A4, A5, A6} m2 6.50 5.25
1.50 3.50 C3 = {A2, A7} m3 1.50 3.50
VL3 VL4
Bước 1: tính khoảng cách từ các điểm dữ liệu đến tâm 3 cụm Bước 1: tính khoảng cách từ các điểm d
d(m1, P(i)) d(m2, P(i)) d(m3, P(i)) Cụm mới d(m1, P(i)) d(m2, P(i))
1.12 6.54 6.52 C1 1.95 7.58
4.61 4.51 1.58 C3 4.33 5.05
7.43 1.95 6.52 C2 6.61 1.04
2.50 3.13 5.70 C2 1.66 4.21
6.02 0.56 5.70 C2 5.20 0.70
6.26 1.35 4.53 C2 5.52 1.04
7.76 6.39 1.58 C3 7.49 6.43
1.12 4.51 6.04 C2 0.33 5.58
B2: Xác định các cụm và cập nhật tâm mới B2: Xác định các cụm và cập nhật tâm m
Cụm Tâm X1 X2 Cụm
C1 = {A1, A4, A8} m1 3.67 9.00 C1 = {A1, A4, A8}
C2 = {A3, A5,A6} m2 7.00 4.33 C2 = {A3, A5,A6}
C3 = {A2, A7} m3 1.50 3.50 C3 = {A2, A7}

Không có sự thay đổi về cụm của các điể


Vậy thuật toán dừng

Số lần lặp tối thiểu để thuật toán dừng (h

SSE = 14.313
VL4
ảng cách từ các điểm dữ liệu đến tâm 3 cụm
d(m3, P(i)) Cụm mới
6.52 C1
1.58 C3
6.52 C2
5.70 C2
5.70 C2
4.53 C2
1.58 C3
6.04 C2
cụm và cập nhật tâm mới
Tâm X1 X2
m1 3.67 9.00
m2 7.00 4.33
m3 1.50 3.50

y đổi về cụm của các điểm dữ liệu

ểu để thuật toán dừng (hội tụ) là 4.


VL1
Bước 1: tính khoảng cách từ các điểm dữ liệu đến tâm 3 cụm
u đến tâm 3 cụm

You might also like