43 KiB
Bài Tập Khai Phá Dữ Liệu - Đề Thi Mẫu 2025
Câu 1: Phân Tích Dữ Liệu X và Y
Dữ liệu ban đầu
X: 7.0, 8.5, 8.6, 6.7, 6.5, 7.0, 6.0, 5.5, 7.0, 9.1, 4.5, 5.3
Y: 7.2, 8.0, 8.5, 7.5, 8.5, 6.0, 6.5, 6.8, 9.0, 8.5, 5.5, 6.0
a. Xác định giá trị trung bình, trung vị, mode
Phân tích X
Bước 1: Sắp xếp dữ liệu X theo thứ tự tăng dần:
4.5, 5.3, 5.5, 6.0, 6.5, 6.7, 7.0, 7.0, 7.0, 8.5, 8.6, 9.1
Bước 2: Tính các giá trị thống kê
-
Trung bình (Mean):
x̄ = (4.5 + 5.3 + 5.5 + 6.0 + 6.5 + 6.7 + 7.0 + 7.0 + 7.0 + 8.5 + 8.6 + 9.1) / 12 x̄ = 81.7 / 12 = 6.81 -
Trung vị (Median):
- Vị trí: (n+1)/2 = 13/2 = 6.5
- Median = (giá trị thứ 6 + giá trị thứ 7) / 2
- Median = (6.7 + 7.0) / 2 = 6.85
-
Mode (Yếu vị):
- Giá trị xuất hiện nhiều nhất: 7.0 (xuất hiện 3 lần)
Kết quả X:
- Trung bình: 6.81
- Trung vị: 6.85
- Mode: 7.0
Phân tích Y
Bước 1: Sắp xếp dữ liệu Y theo thứ tự tăng dần:
5.5, 6.0, 6.0, 6.5, 6.8, 7.2, 7.5, 8.0, 8.5, 8.5, 8.5, 9.0
Bước 2: Tính các giá trị thống kê
-
Trung bình (Mean):
ȳ = (5.5 + 6.0 + 6.0 + 6.5 + 6.8 + 7.2 + 7.5 + 8.0 + 8.5 + 8.5 + 8.5 + 9.0) / 12 ȳ = 88.0 / 12 = 7.33 -
Trung vị (Median):
- Median = (giá trị thứ 6 + giá trị thứ 7) / 2
- Median = (7.2 + 7.5) / 2 = 7.35
-
Mode (Yếu vị):
- Giá trị xuất hiện nhiều nhất: 8.5 (xuất hiện 3 lần)
Kết quả Y:
- Trung bình: 7.33
- Trung vị: 7.35
- Mode: 8.5
b. Vẽ biểu đồ Boxplot của X và Y
Boxplot cho X
Các giá trị cần thiết:
- Minimum (Min): 4.5
- Quartile 1 (Q1): (5.5 + 6.0) / 2 = 5.75
- Median (Q2): 6.85
- Quartile 3 (Q3): (7.0 + 8.5) / 2 = 7.75
- Maximum (Max): 9.1
- IQR (Interquartile Range): Q3 - Q1 = 7.75 - 5.75 = 2.0
Phát hiện outliers:
- Lower fence: Q1 - 1.5 × IQR = 5.75 - 3.0 = 2.75
- Upper fence: Q3 + 1.5 × IQR = 7.75 + 3.0 = 10.75
- Không có outliers (tất cả giá trị nằm trong khoảng [2.75, 10.75])
Boxplot X:
Min Q1 Median Q3 Max
|-----|-------|-----|-----|
4.5 5.75 6.85 7.75 9.1
Boxplot cho Y
Các giá trị cần thiết:
- Minimum (Min): 5.5
- Quartile 1 (Q1): (6.0 + 6.5) / 2 = 6.25
- Median (Q2): 7.35
- Quartile 3 (Q3): (8.5 + 8.5) / 2 = 8.5
- Maximum (Max): 9.0
- IQR: Q3 - Q1 = 8.5 - 6.25 = 2.25
Phát hiện outliers:
- Lower fence: Q1 - 1.5 × IQR = 6.25 - 3.375 = 2.875
- Upper fence: Q3 + 1.5 × IQR = 8.5 + 3.375 = 11.875
- Không có outliers (tất cả giá trị nằm trong khoảng [2.875, 11.875])
Boxplot Y:
Min Q1 Median Q3 Max
|-----|-------|-----|-----|
5.5 6.25 7.35 8.5 9.0
c. Chuẩn hóa thang đo thập phân (Decimal Scaling Normalization)
Công thức: x' = x / 10^j
Trong đó j là số nguyên nhỏ nhất sao cho Max(|x'|) < 1
Chuẩn hóa X
- Max(|X|) = 9.1
- Chọn j = 1 (vì 9.1 / 10 = 0.91 < 1)
- Công thức: x' = x / 10
Kết quả:
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
X chuẩn hóa: 0.70 0.85 0.86 0.67 0.65 0.70 0.60 0.55 0.70 0.91 0.45 0.53
Chuẩn hóa Y
- Max(|Y|) = 9.0
- Chọn j = 1 (vì 9.0 / 10 = 0.90 < 1)
- Công thức: y' = y / 10
Kết quả:
Y gốc: 7.2 8.0 8.5 7.5 8.5 6.0 6.5 6.8 9.0 8.5 5.5 6.0
Y chuẩn hóa: 0.72 0.80 0.85 0.75 0.85 0.60 0.65 0.68 0.90 0.85 0.55 0.60
Các phương pháp chuẩn hóa khác
Phương pháp 2: Min-Max Normalization (Chuẩn hóa Min-Max)
Công thức tổng quát:
x' = (x - min) / (max - min) × (new_max - new_min) + new_min
Trong đó:
- min, max: giá trị nhỏ nhất, lớn nhất của dữ liệu gốc
- new_min, new_max: khoảng giá trị mới mong muốn
Các trường hợp đặc biệt:
- Chuẩn hóa về [0, 1]:
x' = (x - min) / (max - min) - Chuẩn hóa về [-1, 1]:
x' = 2 × (x - min) / (max - min) - 1 - Chuẩn hóa về [a, b]:
x' = (x - min) / (max - min) × (b - a) + a
Ví dụ 1: Chuẩn hóa X về [0, 1]
- Min(X) = 4.5
- Max(X) = 9.1
- Range = 9.1 - 4.5 = 4.6
- new_min = 0, new_max = 1
Tính toán chi tiết:
| Giá trị gốc | Công thức | Kết quả |
|---|---|---|
| 7.0 | (7.0 - 4.5) / 4.6 | 0.543 |
| 8.5 | (8.5 - 4.5) / 4.6 | 0.870 |
| 8.6 | (8.6 - 4.5) / 4.6 | 0.891 |
| 6.7 | (6.7 - 4.5) / 4.6 | 0.478 |
| 6.5 | (6.5 - 4.5) / 4.6 | 0.435 |
| 7.0 | (7.0 - 4.5) / 4.6 | 0.543 |
| 6.0 | (6.0 - 4.5) / 4.6 | 0.326 |
| 5.5 | (5.5 - 4.5) / 4.6 | 0.217 |
| 7.0 | (7.0 - 4.5) / 4.6 | 0.543 |
| 9.1 | (9.1 - 4.5) / 4.6 | 1.000 |
| 4.5 | (4.5 - 4.5) / 4.6 | 0.000 |
| 5.3 | (5.3 - 4.5) / 4.6 | 0.174 |
Kết quả:
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
X Min-Max [0,1]: 0.543 0.870 0.891 0.478 0.435 0.543 0.326 0.217 0.543 1.000 0.000 0.174
Ví dụ 2: Chuẩn hóa X về [-1, 1]
new_min = -1, new_max = 1
Công thức:
x' = (x - 4.5) / 4.6 × (1 - (-1)) + (-1)
= (x - 4.5) / 4.6 × 2 - 1
Tính toán:
| Giá trị gốc | Bước 1: (x-min)/range | Bước 2: ×2 - 1 | Kết quả |
|---|---|---|---|
| 7.0 | 0.543 | 0.543 × 2 - 1 | 0.087 |
| 9.1 | 1.000 | 1.000 × 2 - 1 | 1.000 |
| 4.5 | 0.000 | 0.000 × 2 - 1 | -1.000 |
| 8.5 | 0.870 | 0.870 × 2 - 1 | 0.739 |
Kết quả:
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
X Min-Max [-1,1]: 0.087 0.739 0.783 -0.043 -0.130 0.087 -0.348 -0.565 0.087 1.000 -1.000 -0.652
Ví dụ 3: Chuẩn hóa X về [10, 100]
new_min = 10, new_max = 100
Công thức:
x' = (x - 4.5) / 4.6 × (100 - 10) + 10
= (x - 4.5) / 4.6 × 90 + 10
Tính toán:
| Giá trị gốc | Bước 1: (x-min)/range | Bước 2: ×90 + 10 | Kết quả |
|---|---|---|---|
| 7.0 | 0.543 | 0.543 × 90 + 10 | 58.9 |
| 9.1 | 1.000 | 1.000 × 90 + 10 | 100.0 |
| 4.5 | 0.000 | 0.000 × 90 + 10 | 10.0 |
| 6.0 | 0.326 | 0.326 × 90 + 10 | 39.3 |
Kết quả:
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
X Min-Max [10,100]: 58.9 88.3 90.2 53.0 49.1 58.9 39.3 29.6 58.9 100.0 10.0 25.7
Chuẩn hóa Y
- Min(Y) = 5.5
- Max(Y) = 9.0
- Range = 9.0 - 5.5 = 3.5
Kết quả:
Y gốc: 7.2 8.0 8.5 7.5 8.5 6.0 6.5 6.8 9.0 8.5 5.5 6.0
Y Min-Max: 0.486 0.714 0.857 0.571 0.857 0.143 0.286 0.371 1.000 0.857 0.000 0.143
Phương pháp 3: Z-Score Normalization (Chuẩn hóa Z-Score)
Công thức: x' = (x - μ) / σ
Trong đó:
- μ = trung bình (mean)
- σ = độ lệch chuẩn (standard deviation)
Kết quả có trung bình = 0 và độ lệch chuẩn = 1
Chuẩn hóa X
Từ câu 1a và 1e, ta có:
- μ_x = 6.81
- σ_x = 1.339
Tính toán chi tiết:
| Giá trị gốc | Công thức | Kết quả |
|---|---|---|
| 7.0 | (7.0 - 6.81) / 1.339 | 0.142 |
| 8.5 | (8.5 - 6.81) / 1.339 | 1.262 |
| 8.6 | (8.6 - 6.81) / 1.339 | 1.337 |
| 6.7 | (6.7 - 6.81) / 1.339 | -0.082 |
| 6.5 | (6.5 - 6.81) / 1.339 | -0.231 |
| 7.0 | (7.0 - 6.81) / 1.339 | 0.142 |
| 6.0 | (6.0 - 6.81) / 1.339 | -0.605 |
| 5.5 | (5.5 - 6.81) / 1.339 | -0.978 |
| 7.0 | (7.0 - 6.81) / 1.339 | 0.142 |
| 9.1 | (9.1 - 6.81) / 1.339 | 1.710 |
| 4.5 | (4.5 - 6.81) / 1.339 | -1.725 |
| 5.3 | (5.3 - 6.81) / 1.339 | -1.128 |
Kết quả:
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
X Z-Score: 0.142 1.262 1.337 -0.082 -0.231 0.142 -0.605 -0.978 0.142 1.710 -1.725 -1.128
Chuẩn hóa Y
Từ câu 1a và 1e, ta có:
- μ_y = 7.33
- σ_y = 1.127
Kết quả:
Y gốc: 7.2 8.0 8.5 7.5 8.5 6.0 6.5 6.8 9.0 8.5 5.5 6.0
Y Z-Score: -0.115 0.595 1.038 0.151 1.038 -1.180 -0.737 -0.470 1.482 1.038 -1.624 -1.180
So sánh các phương pháp chuẩn hóa
| Phương pháp | Công thức | Khoảng giá trị | Ưu điểm | Nhược điểm | Khi nào dùng |
|---|---|---|---|---|---|
| Decimal Scaling | x' = x / 10^j | (-1, 1) | Đơn giản, nhanh | Không sử dụng hết khoảng giá trị | Khi cần chuẩn hóa nhanh |
| Min-Max | x' = (x-min)/(max-min)×(b-a)+a | [a, b] tùy chọn | Giữ nguyên phân phối, linh hoạt | Nhạy cảm với outliers | Khi biết giới hạn min/max, cần khoảng cụ thể |
| Z-Score | x' = (x-μ)/σ | (-∞, +∞) | Không bị ảnh hưởng bởi scale, chuẩn thống kê | Khó diễn giải | Khi dữ liệu có phân phối chuẩn |
Ví dụ so sánh cho X = 9.1 (giá trị max):
- Decimal Scaling: 0.91 (91% của max có thể)
- Min-Max [0,1]: 1.00 (giá trị lớn nhất)
- Min-Max [-1,1]: 1.00 (giá trị lớn nhất)
- Min-Max [10,100]: 100.0 (giá trị lớn nhất)
- Z-Score: 1.710 (cách trung bình 1.710 độ lệch chuẩn)
d. Làm trơn dữ liệu bằng phương pháp Bin Means (Equal-width)
Tham số: Số bin = 4, phương pháp: Equal-width (chiều rộng bằng nhau)
Làm trơn X
Bước 1: Xác định khoảng giá trị
- Min = 4.5
- Max = 9.1
- Range = 9.1 - 4.5 = 4.6
Bước 2: Tính chiều rộng bin
Bin width = 4.6 / 4 = 1.15
Bước 3: Xác định các bin và phân loại dữ liệu
| Bin | Khoảng | Giá trị | Trung bình |
|---|---|---|---|
| 1 | [4.5, 5.65) | 4.5, 5.3, 5.5 | 5.10 |
| 2 | [5.65, 6.8) | 6.0, 6.5, 6.7 | 6.40 |
| 3 | [6.8, 7.95) | 7.0, 7.0, 7.0 | 7.00 |
| 4 | [7.95, 9.1] | 8.5, 8.6, 9.1 | 8.73 |
Bước 4: Thay thế giá trị gốc bằng trung bình bin
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
Bin: 3 4 4 2 2 3 2 1 3 4 1 1
X sau làm trơn: 7.0 8.73 8.73 6.4 6.4 7.0 6.4 5.1 7.0 8.73 5.1 5.1
Các phương pháp làm trơn khác cho X
Phương pháp 2: Bin Boundaries (Làm trơn theo biên)
Thay thế mỗi giá trị bằng giá trị biên gần nhất (min hoặc max của bin).
Quy tắc: So sánh khoảng cách đến Min và Max của bin, chọn giá trị gần hơn.
| Bin | Khoảng | Giá trị | Min | Max | Làm trơn |
|---|---|---|---|---|---|
| 1 | [4.5, 5.65) | 4.5 | 4.5 | 5.5 | 4.5 (khoảng cách = 0) |
| 1 | [4.5, 5.65) | 5.3 | 4.5 | 5.5 | 5.5 (0.2 < 0.8) |
| 1 | [4.5, 5.65) | 5.5 | 4.5 | 5.5 | 5.5 (khoảng cách = 0) |
| 2 | [5.65, 6.8) | 6.0 | 6.0 | 6.7 | 6.0 (khoảng cách = 0) |
| 2 | [5.65, 6.8) | 6.5 | 6.0 | 6.7 | 6.7 (0.2 < 0.5) |
| 2 | [5.65, 6.8) | 6.7 | 6.0 | 6.7 | 6.7 (khoảng cách = 0) |
| 3 | [6.8, 7.95) | 7.0 | 7.0 | 7.0 | 7.0 (tất cả bằng nhau) |
| 4 | [7.95, 9.1] | 8.5 | 8.5 | 9.1 | 8.5 (khoảng cách = 0) |
| 4 | [7.95, 9.1] | 8.6 | 8.5 | 9.1 | 8.5 (0.1 < 0.5) |
| 4 | [7.95, 9.1] | 9.1 | 8.5 | 9.1 | 9.1 (khoảng cách = 0) |
Kết quả:
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
X smoothed (boundaries): 7.0 8.5 8.5 6.7 6.7 7.0 6.0 5.5 7.0 9.1 4.5 5.5
Phương pháp 3: Bin Medians (Làm trơn theo trung vị)
Thay thế mỗi giá trị bằng trung vị của bin.
| Bin | Khoảng | Giá trị (đã sắp xếp) | Trung vị |
|---|---|---|---|
| 1 | [4.5, 5.65) | 4.5, 5.3, 5.5 | 5.3 (giá trị giữa) |
| 2 | [5.65, 6.8) | 6.0, 6.5, 6.7 | 6.5 (giá trị giữa) |
| 3 | [6.8, 7.95) | 7.0, 7.0, 7.0 | 7.0 (giá trị giữa) |
| 4 | [7.95, 9.1] | 8.5, 8.6, 9.1 | 8.6 (giá trị giữa) |
Kết quả:
X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3
X smoothed (medians): 7.0 8.6 8.6 6.5 6.5 7.0 6.5 5.3 7.0 8.6 5.3 5.3
So sánh 3 phương pháp làm trơn:
| Phương pháp | Ưu điểm | Nhược điểm |
|---|---|---|
| Bin Means | Giảm nhiễu tốt, mượt mà | Có thể tạo giá trị không tồn tại trong dữ liệu gốc |
| Bin Boundaries | Giữ giá trị thực tế từ dữ liệu gốc | Ít mượt mà, dễ bị ảnh hưởng bởi outliers |
| Bin Medians | Kháng nhiễu tốt (robust), giá trị thực tế | Trung bình giữa 2 phương pháp trên |
Phương pháp phân bin: Equal-Frequency (Tần suất bằng nhau)
Khác với Equal-Width (chiều rộng bằng nhau), phương pháp Equal-Frequency chia dữ liệu sao cho mỗi bin có số lượng phần tử gần bằng nhau.
Ví dụ với X (4 bins, Equal-Frequency)
Bước 1: Sắp xếp dữ liệu
X sorted: 4.5, 5.3, 5.5, 6.0, 6.5, 6.7, 7.0, 7.0, 7.0, 8.5, 8.6, 9.1
Bước 2: Tính số phần tử mỗi bin
n = 12 điểm dữ liệu
Số bins = 4
Số phần tử/bin = 12/4 = 3 phần tử
Bước 3: Phân chia thành 4 bins với 3 phần tử mỗi bin
| Bin | Phần tử | Khoảng | Trung bình |
|---|---|---|---|
| 1 | 4.5, 5.3, 5.5 | [4.5, 5.5] | 5.10 |
| 2 | 6.0, 6.5, 6.7 | (5.5, 6.7] | 6.40 |
| 3 | 7.0, 7.0, 7.0 | (6.7, 7.0] | 7.00 |
| 4 | 8.5, 8.6, 9.1 | (7.0, 9.1] | 8.73 |
Kết quả (Bin Means):
X gốc (sorted): 4.5 5.3 5.5 6.0 6.5 6.7 7.0 7.0 7.0 8.5 8.6 9.1
X smoothed (equal-freq): 5.1 5.1 5.1 6.4 6.4 6.4 7.0 7.0 7.0 8.73 8.73 8.73
So sánh Equal-Width vs Equal-Frequency:
| Phương pháp | Cách chia | Ưu điểm | Nhược điểm | Khi nào dùng |
|---|---|---|---|---|
| Equal-Width | Chiều rộng giá trị bằng nhau | Đơn giản, trực quan | Bins có thể rỗng hoặc quá đông | Dữ liệu phân phối đều |
| Equal-Frequency | Số phần tử mỗi bin bằng nhau | Mỗi bin có đại diện, cân bằng | Bins có thể có khoảng giá trị khác nhau nhiều | Dữ liệu có outliers hoặc phân phối lệch |
Ví dụ so sánh với X:
Equal-Width:
- Bin 1: [4.5, 5.65) → 3 phần tử
- Bin 2: [5.65, 6.8) → 3 phần tử
- Bin 3: [6.8, 7.95) → 3 phần tử
- Bin 4: [7.95, 9.1] → 3 phần tử
- Chiều rộng: 1.15 (đều nhau)
Equal-Frequency:
- Bin 1: [4.5, 5.5] → 3 phần tử (width = 1.0)
- Bin 2: (5.5, 6.7] → 3 phần tử (width = 1.2)
- Bin 3: (6.7, 7.0] → 3 phần tử (width = 0.3)
- Bin 4: (7.0, 9.1] → 3 phần tử (width = 2.1)
- Số phần tử: 3 (đều nhau)
Làm trơn Y (Bin Means - Equal-Width)
Bước 1: Xác định khoảng giá trị
- Min = 5.5
- Max = 9.0
- Range = 9.0 - 5.5 = 3.5
Bước 2: Tính chiều rộng bin
Bin width = 3.5 / 4 = 0.875
Bước 3: Xác định các bin và phân loại dữ liệu
| Bin | Khoảng | Giá trị | Trung bình |
|---|---|---|---|
| 1 | [5.5, 6.375) | 5.5, 6.0, 6.0 | 5.83 |
| 2 | [6.375, 7.25) | 6.5, 6.8, 7.2 | 6.83 |
| 3 | [7.25, 8.125) | 7.5, 8.0 | 7.75 |
| 4 | [8.125, 9.0] | 8.5, 8.5, 8.5, 9.0 | 8.625 |
Bước 4: Thay thế giá trị gốc bằng trung bình bin
Y gốc: 7.2 8.0 8.5 7.5 8.5 6.0 6.5 6.8 9.0 8.5 5.5 6.0
Bin: 2 3 4 3 4 1 2 2 4 4 1 1
Y sau làm trơn: 6.83 7.75 8.625 7.75 8.625 5.83 6.83 6.83 8.625 8.625 5.83 5.83
e. Xác định hệ số tương quan giữa X và Y
Có 2 phương pháp tính hệ số tương quan Pearson:
Phương pháp 1: Công thức trực tiếp
r = Σ[(xi - x̄)(yi - ȳ)] / √[Σ(xi - x̄)² × Σ(yi - ȳ)²]
Phương pháp 2: Sử dụng Covariance và Standard Deviation
r = Cov(X,Y) / (σx × σy)
Trong đó:
- Cov(X,Y) = Σ[(xi - x̄)(yi - ȳ)] / (n-1) - Hiệp phương sai
- σx = √[Σ(xi - x̄)² / (n-1)] - Độ lệch chuẩn của X
- σy = √[Σ(yi - ȳ)² / (n-1)] - Độ lệch chuẩn của Y
Bảng tính toán chi tiết
| i | xi | yi | xi - x̄ | yi - ȳ | (xi - x̄)(yi - ȳ) | (xi - x̄)² | (yi - ȳ)² |
|---|---|---|---|---|---|---|---|
| 1 | 7.0 | 7.2 | 0.19 | -0.13 | -0.025 | 0.036 | 0.017 |
| 2 | 8.5 | 8.0 | 1.69 | 0.67 | 1.133 | 2.856 | 0.449 |
| 3 | 8.6 | 8.5 | 1.79 | 1.17 | 2.094 | 3.204 | 1.369 |
| 4 | 6.7 | 7.5 | -0.11 | 0.17 | -0.019 | 0.012 | 0.029 |
| 5 | 6.5 | 8.5 | -0.31 | 1.17 | -0.363 | 0.096 | 1.369 |
| 6 | 7.0 | 6.0 | 0.19 | -1.33 | -0.253 | 0.036 | 1.769 |
| 7 | 6.0 | 6.5 | -0.81 | -0.83 | 0.672 | 0.656 | 0.689 |
| 8 | 5.5 | 6.8 | -1.31 | -0.53 | 0.694 | 1.716 | 0.281 |
| 9 | 7.0 | 9.0 | 0.19 | 1.67 | 0.317 | 0.036 | 2.789 |
| 10 | 9.1 | 8.5 | 2.29 | 1.17 | 2.679 | 5.244 | 1.369 |
| 11 | 4.5 | 5.5 | -2.31 | -1.83 | 4.227 | 5.336 | 3.349 |
| 12 | 5.3 | 6.0 | -1.51 | -1.33 | 2.008 | 2.280 | 1.769 |
| Tổng | 12.164 | 21.508 | 15.248 |
Tính toán hệ số tương quan
Phương pháp 1: Công thức trực tiếp
r = 12.164 / √(21.508 × 15.248)
r = 12.164 / √327.982
r = 12.164 / 18.110
r = 0.672
Phương pháp 2: Sử dụng Covariance và Standard Deviation
Công thức (theo sách giáo khoa):
Cov(A,B) = Σ(ai - Ā)(bi - B̄) / n
σ = √[Σ(ai - Ā)² / n]
r = Cov(A,B) / (σA × σB)
Bước 1: Tính Covariance (Hiệp phương sai)
Cov(X,Y) = Σ[(xi - x̄)(yi - ȳ)] / n
Cov(X,Y) = 12.164 / 12
Cov(X,Y) = 1.014
Bước 2: Tính Standard Deviation của X
σx = √[Σ(xi - x̄)² / n]
σx = √(21.508 / 12)
σx = √1.792
σx = 1.339
Bước 3: Tính Standard Deviation của Y
σy = √[Σ(yi - ȳ)² / n]
σy = √(15.248 / 12)
σy = √1.271
σy = 1.127
Bước 4: Tính hệ số tương quan
r = Cov(X,Y) / (σx × σy)
r = 1.014 / (1.339 × 1.127)
r = 1.014 / 1.509
r = 0.672
Kết quả: Hệ số tương quan r ≈ 0.67 (cả 2 phương pháp cho kết quả giống nhau)
Nhận xét: Có mối tương quan dương khá mạnh giữa X và Y. Khi X tăng thì Y có xu hướng tăng theo.
So sánh 2 phương pháp:
- Phương pháp 1 tính trực tiếp, phù hợp khi cần tính nhanh
- Phương pháp 2 thông qua covariance và độ lệch chuẩn, giúp hiểu rõ hơn về ý nghĩa thống kê (mức độ biến thiên chung và biến thiên riêng của mỗi biến)
Tổng Kết Câu 1: Các Kỹ Thuật Tiền Xử Lý Dữ Liệu
1. Thống kê mô tả (Descriptive Statistics)
| Chỉ số | X | Y | Ý nghĩa |
|---|---|---|---|
| Mean (Trung bình) | 6.81 | 7.33 | Giá trị trung tâm của dữ liệu |
| Median (Trung vị) | 6.85 | 7.35 | Giá trị giữa, kháng nhiễu |
| Mode (Yếu vị) | 7.0 | 8.5 | Giá trị xuất hiện nhiều nhất |
| Min | 4.5 | 5.5 | Giá trị nhỏ nhất |
| Max | 9.1 | 9.0 | Giá trị lớn nhất |
| Q1 | 5.75 | 6.25 | 25% dữ liệu ≤ Q1 |
| Q3 | 7.75 | 8.5 | 75% dữ liệu ≤ Q3 |
| IQR | 2.0 | 2.25 | Đo độ phân tán |
2. Phương pháp Chuẩn hóa (Normalization)
| Phương pháp | Công thức | Khoảng giá trị | Đặc điểm | Ứng dụng |
|---|---|---|---|---|
| Decimal Scaling | x' = x/10^j | (-1, 1) | Đơn giản, nhanh | Chuẩn hóa nhanh, dữ liệu đơn giản |
| Min-Max | (x-min)/(max-min)×(b-a)+a | [a, b] tùy chọn | Giữ phân phối, linh hoạt | Neural networks, khi biết min/max, cần khoảng cụ thể |
| Z-Score | (x-μ)/σ | (-∞, +∞) | Chuẩn hóa thống kê | Phát hiện outliers, so sánh nhiều biến |
Khi nào dùng phương pháp nào:
- Decimal Scaling: Khi cần nhanh, dữ liệu đơn giản
- Min-Max: Khi cần giá trị trong khoảng xác định [a,b] (thường [0,1] hoặc [-1,1]), biết rõ min/max, dùng cho neural networks
- Z-Score: Khi dữ liệu có phân phối chuẩn, cần so sánh nhiều biến có đơn vị khác nhau
3. Phương pháp Phân Bin (Binning)
3.1. Cách phân bin:
| Phương pháp | Nguyên tắc | Ưu điểm | Nhược điểm |
|---|---|---|---|
| Equal-Width | Chiều rộng bằng nhau | Đơn giản, trực quan | Bins có thể rỗng/quá đông |
| Equal-Frequency | Số phần tử bằng nhau | Cân bằng, tránh bins rỗng | Chiều rộng không đều |
3.2. Cách làm trơn trong bin:
| Phương pháp | Cách thay thế | Ưu điểm | Nhược điểm |
|---|---|---|---|
| Bin Means | Thay = trung bình bin | Mượt mà, giảm nhiễu tốt | Tạo giá trị mới |
| Bin Medians | Thay = trung vị bin | Kháng nhiễu, giá trị thực | Trung bình |
| Bin Boundaries | Thay = min/max gần nhất | Giữ giá trị gốc | Ít mượt, nhạy outliers |
Workflow làm trơn dữ liệu:
- Sắp xếp dữ liệu
- Phân bin (Equal-Width hoặc Equal-Frequency)
- Làm trơn (Means, Medians, hoặc Boundaries)
4. Phân tích tương quan (Correlation)
Hệ số tương quan Pearson: r = 0.67
Cách tính:
- Phương pháp 1: Công thức trực tiếp
- Phương pháp 2: r = Cov(X,Y) / (σx × σy)
Diễn giải:
- r = 0.67 → Tương quan dương khá mạnh
- Khi X tăng, Y có xu hướng tăng theo
- Mức độ: |r| < 0.3 (yếu), 0.3-0.7 (trung bình), > 0.7 (mạnh)
5. Quy trình tổng quát tiền xử lý dữ liệu
Dữ liệu thô
↓
[1] Thống kê mô tả
- Tính mean, median, mode
- Vẽ boxplot
- Phát hiện outliers
↓
[2] Làm sạch dữ liệu
- Xử lý missing values
- Xử lý outliers
- Làm trơn (binning)
↓
[3] Chuẩn hóa
- Min-Max / Z-Score / Decimal Scaling
- Đưa về cùng thang đo
↓
[4] Phân tích mối quan hệ
- Correlation analysis
- Feature selection
↓
Dữ liệu đã xử lý
Câu 2: Thuật Toán Apriori và Luật Kết Hợp
Dữ liệu giao dịch
| ID | Items |
|---|---|
| T1 | B, E, F, M |
| T2 | E, F, O |
| T3 | A, H, O, S |
| T4 | B, D, E, F |
| T5 | A, D, H, S |
| T6 | E, M, O |
| T7 | A, D, H, O, S |
Tổng số giao dịch: 7
a. Tìm tập đối tượng thường xuyên (Frequent Itemsets)
Tham số: Minimum support = 40% = 0.4
Ngưỡng: Một tập cần xuất hiện ít nhất 7 × 0.4 = 2.8 ≈ 3 lần
Bước 1: Tìm L₁ (Tập 1 phần tử thường xuyên)
Đếm số lần xuất hiện của mỗi item:
| Item | Giao dịch chứa item | Số lần | Support | Thường xuyên? |
|---|---|---|---|---|
| A | T3, T5, T7 | 3 | 42.9% | ✓ |
| B | T1, T4 | 2 | 28.6% | ✗ |
| D | T4, T5, T7 | 3 | 42.9% | ✓ |
| E | T1, T2, T4, T6 | 4 | 57.1% | ✓ |
| F | T1, T2, T4 | 3 | 42.9% | ✓ |
| H | T3, T5, T7 | 3 | 42.9% | ✓ |
| M | T1, T6 | 2 | 28.6% | ✗ |
| O | T2, T3, T6, T7 | 4 | 57.1% | ✓ |
| S | T3, T5, T7 | 3 | 42.9% | ✓ |
L₁ = {A, D, E, F, H, O, S}
Bước 2: Tìm L₂ (Tập 2 phần tử thường xuyên)
Sinh tập ứng viên C₂ từ L₁, sau đó đếm support:
| Tập | Giao dịch chứa | Số lần | Support | Thường xuyên? |
|---|---|---|---|---|
| {A, D} | T5, T7 | 2 | 28.6% | ✗ |
| {A, E} | - | 0 | 0% | ✗ |
| {A, F} | - | 0 | 0% | ✗ |
| {A, H} | T3, T5, T7 | 3 | 42.9% | ✓ |
| {A, O} | T3, T7 | 2 | 28.6% | ✗ |
| {A, S} | T3, T5, T7 | 3 | 42.9% | ✓ |
| {D, E} | T4 | 1 | 14.3% | ✗ |
| {D, F} | T4 | 1 | 14.3% | ✗ |
| {D, H} | T5, T7 | 2 | 28.6% | ✗ |
| {D, O} | T7 | 1 | 14.3% | ✗ |
| {D, S} | T5, T7 | 2 | 28.6% | ✗ |
| {E, F} | T1, T2, T4 | 3 | 42.9% | ✓ |
| {E, H} | - | 0 | 0% | ✗ |
| {E, O} | T2, T6 | 2 | 28.6% | ✗ |
| {E, S} | - | 0 | 0% | ✗ |
| {F, H} | - | 0 | 0% | ✗ |
| {F, O} | T2 | 1 | 14.3% | ✗ |
| {F, S} | - | 0 | 0% | ✗ |
| {H, O} | T3, T7 | 2 | 28.6% | ✗ |
| {H, S} | T3, T5, T7 | 3 | 42.9% | ✓ |
| {O, S} | T3, T7 | 2 | 28.6% | ✗ |
L₂ = {{A, H}, {A, S}, {E, F}, {H, S}}
Bước 3: Tìm L₃ (Tập 3 phần tử thường xuyên)
Sinh tập ứng viên C₃ từ L₂:
Từ L₂, ta có thể tạo các tập 3 phần tử có 2 tập con trong L₂:
| Tập | Kiểm tra tập con 2 phần tử | Giao dịch | Số lần | Support | Thường xuyên? |
|---|---|---|---|---|---|
| {A, H, S} | {A,H}✓, {A,S}✓, {H,S}✓ | T3, T5, T7 | 3 | 42.9% | ✓ |
L₃ = {{A, H, S}}
Bước 4: Tìm L₄
Không thể tạo tập ứng viên C₄ từ L₃ (chỉ có 1 tập trong L₃).
Kết thúc thuật toán.
Tổng hợp tất cả tập đối tượng thường xuyên:
Tập 1 phần tử:
- {A} (42.9%)
- {D} (42.9%)
- {E} (57.1%)
- {F} (42.9%)
- {H} (42.9%)
- {O} (57.1%)
- {S} (42.9%)
Tập 2 phần tử:
- {A, H} (42.9%)
- {A, S} (42.9%)
- {E, F} (42.9%)
- {H, S} (42.9%)
Tập 3 phần tử:
- {A, H, S} (42.9%)
Tổng cộng: 12 tập thường xuyên
b. Xác định luật kết hợp mạnh (Strong Association Rules)
Tham số:
- Minimum support = 40%
- Minimum confidence = 70%
Công thức confidence: confidence(X → Y) = support(X ∪ Y) / support(X)
Từ tập {A, H}
| Luật | Tính toán | Confidence | Mạnh? |
|---|---|---|---|
| A → H | support({A,H}) / support(A) = 3/3 | 100% | ✓ |
| H → A | support({A,H}) / support(H) = 3/3 | 100% | ✓ |
Từ tập {A, S}
| Luật | Tính toán | Confidence | Mạnh? |
|---|---|---|---|
| A → S | support({A,S}) / support(A) = 3/3 | 100% | ✓ |
| S → A | support({A,S}) / support(S) = 3/3 | 100% | ✓ |
Từ tập {E, F}
| Luật | Tính toán | Confidence | Mạnh? |
|---|---|---|---|
| E → F | support({E,F}) / support(E) = 3/4 | 75% | ✓ |
| F → E | support({E,F}) / support(F) = 3/3 | 100% | ✓ |
Từ tập {H, S}
| Luật | Tính toán | Confidence | Mạnh? |
|---|---|---|---|
| H → S | support({H,S}) / support(H) = 3/3 | 100% | ✓ |
| S → H | support({H,S}) / support(S) = 3/3 | 100% | ✓ |
Từ tập {A, H, S}
Luật với 1 phần tử ở vế phải:
| Luật | Tính toán | Confidence | Mạnh? |
|---|---|---|---|
| {A, H} → S | support({A,H,S}) / support({A,H}) = 3/3 | 100% | ✓ |
| {A, S} → H | support({A,H,S}) / support({A,S}) = 3/3 | 100% | ✓ |
| {H, S} → A | support({A,H,S}) / support({H,S}) = 3/3 | 100% | ✓ |
Luật với 2 phần tử ở vế phải:
| Luật | Tính toán | Confidence | Mạnh? |
|---|---|---|---|
| A → {H, S} | support({A,H,S}) / support(A) = 3/3 | 100% | ✓ |
| H → {A, S} | support({A,H,S}) / support(H) = 3/3 | 100% | ✓ |
| S → {A, H} | support({A,H,S}) / support(S) = 3/3 | 100% | ✓ |
Tổng hợp các luật kết hợp mạnh:
| STT | Luật | Support | Confidence | Lift |
|---|---|---|---|---|
| 1 | A → H | 42.9% | 100% | 2.33 |
| 2 | H → A | 42.9% | 100% | 2.33 |
| 3 | A → S | 42.9% | 100% | 2.33 |
| 4 | S → A | 42.9% | 100% | 2.33 |
| 5 | E → F | 42.9% | 75% | 1.75 |
| 6 | F → E | 42.9% | 100% | 1.75 |
| 7 | H → S | 42.9% | 100% | 2.33 |
| 8 | S → H | 42.9% | 100% | 2.33 |
| 9 | {A, H} → S | 42.9% | 100% | 2.33 |
| 10 | {A, S} → H | 42.9% | 100% | 2.33 |
| 11 | {H, S} → A | 42.9% | 100% | 2.33 |
| 12 | A → {H, S} | 42.9% | 100% | 2.33 |
| 13 | H → {A, S} | 42.9% | 100% | 2.33 |
| 14 | S → {A, H} | 42.9% | 100% | 2.33 |
Tổng cộng: 14 luật kết hợp mạnh
Nhận xét và Phân tích
Câu 1:
- Dữ liệu X và Y có phân phối tương đối tập trung quanh giá trị trung bình
- Không có outliers trong cả hai tập dữ liệu
- Hệ số tương quan dương (r ≈ 0.67) cho thấy X và Y có xu hướng thay đổi cùng chiều
Câu 2:
- Tập {A, H, S} là tập thường xuyên lớn nhất (3 phần tử)
- Các item A, H, S xuất hiện cùng nhau rất thường xuyên (100% confidence)
- Item E và F cũng có xu hướng xuất hiện cùng nhau
- Các luật kết hợp có confidence rất cao (≥75%), cho thấy mối liên hệ mạnh mẽ
Câu 2 - Dạng 2: Thuật Toán ID3 (Cây Quyết Định)
Đề bài mẫu
Cho tập dữ liệu huấn luyện về quyết định chơi thể thao:
| STT | Outlook | Temperature | Humidity | Wind | Play Sport |
|---|---|---|---|---|---|
| 1 | Sunny | Hot | High | Weak | No |
| 2 | Sunny | Hot | High | Strong | No |
| 3 | Overcast | Hot | High | Weak | Yes |
| 4 | Rain | Mild | High | Weak | Yes |
| 5 | Rain | Cool | Normal | Weak | Yes |
| 6 | Rain | Cool | Normal | Strong | No |
| 7 | Overcast | Cool | Normal | Strong | Yes |
| 8 | Sunny | Mild | High | Weak | No |
| 9 | Sunny | Cool | Normal | Weak | Yes |
| 10 | Rain | Mild | Normal | Weak | Yes |
| 11 | Sunny | Mild | Normal | Strong | Yes |
| 12 | Overcast | Mild | High | Strong | Yes |
| 13 | Overcast | Hot | Normal | Weak | Yes |
| 14 | Rain | Mild | High | Strong | No |
Yêu cầu: a. Sử dụng thuật toán ID3 để xây dựng cây quyết định. Tính Information Gain cho mỗi thuộc tính. b. Vẽ cây quyết định hoàn chỉnh. c. Sử dụng cây quyết định để dự đoán: Outlook=Sunny, Temperature=Cool, Humidity=High, Wind=Weak
Lời giải
a. Xây dựng cây quyết định bằng ID3
Bước 1: Tính Entropy của tập dữ liệu gốc
Đếm số lượng mỗi lớp:
- Yes: 9 mẫu
- No: 5 mẫu
- Tổng: 14 mẫu
Entropy(S) = -Σ pi × log2(pi)
Entropy(S) = -(9/14)×log2(9/14) - (5/14)×log2(5/14)
Entropy(S) = -(0.643)×(-0.637) - (0.357)×(-1.485)
Entropy(S) = 0.410 + 0.530
Entropy(S) = 0.940
Bước 2: Tính Information Gain cho từng thuộc tính
Thuộc tính: Outlook
Phân nhóm theo Outlook:
| Outlook | Yes | No | Tổng |
|---|---|---|---|
| Sunny | 2 | 3 | 5 |
| Overcast | 4 | 0 | 4 |
| Rain | 3 | 2 | 5 |
Tính Entropy cho mỗi giá trị:
Entropy(Sunny) = -(2/5)×log2(2/5) - (3/5)×log2(3/5)
= -(0.4)×(-1.322) - (0.6)×(-0.737)
= 0.529 + 0.442 = 0.971
Entropy(Overcast) = -(4/4)×log2(4/4) - (0/4)×log2(0/4)
= -1×0 - 0 = 0
Entropy(Rain) = -(3/5)×log2(3/5) - (2/5)×log2(2/5)
= -(0.6)×(-0.737) - (0.4)×(-1.322)
= 0.442 + 0.529 = 0.971
Tính Entropy trung bình có trọng số:
Entropy_Outlook(S) = (5/14)×0.971 + (4/14)×0 + (5/14)×0.971
= 0.347 + 0 + 0.347
= 0.694
Information Gain:
Gain(S, Outlook) = Entropy(S) - Entropy_Outlook(S)
= 0.940 - 0.694
= 0.246
Thuộc tính: Temperature
Phân nhóm theo Temperature:
| Temperature | Yes | No | Tổng |
|---|---|---|---|
| Hot | 2 | 2 | 4 |
| Mild | 4 | 2 | 6 |
| Cool | 3 | 1 | 4 |
Entropy(Hot) = -(2/4)×log2(2/4) - (2/4)×log2(2/4)
= -0.5×(-1) - 0.5×(-1) = 1.0
Entropy(Mild) = -(4/6)×log2(4/6) - (2/6)×log2(2/6)
= -(0.667)×(-0.585) - (0.333)×(-1.585)
= 0.390 + 0.528 = 0.918
Entropy(Cool) = -(3/4)×log2(3/4) - (1/4)×log2(1/4)
= -(0.75)×(-0.415) - (0.25)×(-2)
= 0.311 + 0.500 = 0.811
Entropy_Temperature(S) = (4/14)×1.0 + (6/14)×0.918 + (4/14)×0.811
= 0.286 + 0.393 + 0.232
= 0.911
Gain(S, Temperature) = 0.940 - 0.911 = 0.029
Thuộc tính: Humidity
Phân nhóm theo Humidity:
| Humidity | Yes | No | Tổng |
|---|---|---|---|
| High | 3 | 4 | 7 |
| Normal | 6 | 1 | 7 |
Entropy(High) = -(3/7)×log2(3/7) - (4/7)×log2(4/7)
= -(0.429)×(-1.222) - (0.571)×(-0.807)
= 0.524 + 0.461 = 0.985
Entropy(Normal) = -(6/7)×log2(6/7) - (1/7)×log2(1/7)
= -(0.857)×(-0.222) - (0.143)×(-2.807)
= 0.190 + 0.401 = 0.591
Entropy_Humidity(S) = (7/14)×0.985 + (7/14)×0.591
= 0.493 + 0.296
= 0.789
Gain(S, Humidity) = 0.940 - 0.789 = 0.151
Thuộc tính: Wind
Phân nhóm theo Wind:
| Wind | Yes | No | Tổng |
|---|---|---|---|
| Weak | 6 | 2 | 8 |
| Strong | 3 | 3 | 6 |
Entropy(Weak) = -(6/8)×log2(6/8) - (2/8)×log2(2/8)
= -(0.75)×(-0.415) - (0.25)×(-2)
= 0.311 + 0.500 = 0.811
Entropy(Strong) = -(3/6)×log2(3/6) - (3/6)×log2(3/6)
= -0.5×(-1) - 0.5×(-1) = 1.0
Entropy_Wind(S) = (8/14)×0.811 + (6/14)×1.0
= 0.463 + 0.429
= 0.892
Gain(S, Wind) = 0.940 - 0.892 = 0.048
Bước 3: So sánh Information Gain
| Thuộc tính | Information Gain |
|---|---|
| Outlook | 0.246 ⭐ |
| Temperature | 0.029 |
| Humidity | 0.151 |
| Wind | 0.048 |
Chọn Outlook làm nút gốc (có Gain cao nhất)
Bước 4: Xây dựng các nhánh con
Nhánh Outlook = Overcast
Tất cả 4 mẫu đều có kết quả Yes → Nút lá: Yes
Nhánh Outlook = Sunny
Còn 5 mẫu (2 Yes, 3 No) - cần phân tách tiếp
Tính lại Gain cho các thuộc tính còn lại trên tập con này:
Tập con Sunny:
| Temperature | Humidity | Wind | Play |
|---|---|---|---|
| Hot | High | Weak | No |
| Hot | High | Strong | No |
| Mild | High | Weak | No |
| Cool | Normal | Weak | Yes |
| Mild | Normal | Strong | Yes |
Sau khi tính toán (tương tự), Humidity có Gain cao nhất:
- Humidity = High → No
- Humidity = Normal → Yes
Nhánh Outlook = Rain
Còn 5 mẫu (3 Yes, 2 No) - cần phân tách tiếp
Sau khi tính toán, Wind có Gain cao nhất:
- Wind = Weak → Yes
- Wind = Strong → No
b. Cây quyết định hoàn chỉnh
Outlook
/ | \
/ | \
Sunny Overcast Rain
/ | \
/ | \
Humidity Yes Wind
/ \ / \
/ \ / \
High Normal Weak Strong
| | | |
No Yes Yes No
c. Dự đoán cho mẫu mới
Mẫu: Outlook=Sunny, Temperature=Cool, Humidity=High, Wind=Weak
Bước dự đoán:
- Outlook = Sunny → đi xuống nhánh Sunny
- Humidity = High → đi xuống nhánh High
- Kết quả: No
Kết luận: Với điều kiện thời tiết này, dự đoán là không chơi thể thao.
Câu 2 - Dạng 3: Thuật Toán K-means (Phân Cụm)
Đề bài mẫu
Cho tập dữ liệu gồm 8 điểm dữ liệu hai chiều:
| Điểm | X | Y |
|---|---|---|
| A | 2 | 10 |
| B | 2 | 5 |
| C | 8 | 4 |
| D | 5 | 8 |
| E | 7 | 5 |
| F | 6 | 4 |
| G | 1 | 2 |
| H | 4 | 9 |
Yêu cầu: a. Sử dụng thuật toán K-means với K=3 để phân cụm dữ liệu. Chọn 3 tâm cụm ban đầu là: C1(2,10), C2(5,8), C3(1,2). b. Thực hiện ít nhất 2 vòng lặp và mô tả chi tiết các bước. c. Tính SSE (Sum of Squared Errors) sau mỗi vòng lặp.
Lời giải
a & b. Thuật toán K-means - Chi tiết các bước
Khởi tạo:
- Số cụm K = 3
- Tâm cụm ban đầu:
- C1 = (2, 10)
- C2 = (5, 8)
- C3 = (1, 2)
Công thức khoảng cách Euclidean:
d(p, c) = √[(x_p - x_c)² + (y_p - y_c)²]
VÒNG LẶP 1
Bước 1.1: Gán điểm vào cụm gần nhất
Điểm A(2, 10):
d(A, C1) = √[(2-2)² + (10-10)²] = 0
d(A, C2) = √[(2-5)² + (10-8)²] = √(9+4) = 3.61
d(A, C3) = √[(2-1)² + (10-2)²] = √(1+64) = 8.06
→ A thuộc Cluster 1 (khoảng cách = 0)
Điểm B(2, 5):
d(B, C1) = √[(2-2)² + (5-10)²] = 5
d(B, C2) = √[(2-5)² + (5-8)²] = √(9+9) = 4.24
d(B, C3) = √[(2-1)² + (5-2)²] = √(1+9) = 3.16
→ B thuộc Cluster 3 (khoảng cách = 3.16)
Điểm C(8, 4):
d(C, C1) = √[(8-2)² + (4-10)²] = √(36+36) = 8.49
d(C, C2) = √[(8-5)² + (4-8)²] = √(9+16) = 5
d(C, C3) = √[(8-1)² + (4-2)²] = √(49+4) = 7.28
→ C thuộc Cluster 2 (khoảng cách = 5)
Điểm D(5, 8):
d(D, C1) = √[(5-2)² + (8-10)²] = √(9+4) = 3.61
d(D, C2) = √[(5-5)² + (8-8)²] = 0
d(D, C3) = √[(5-1)² + (8-2)²] = √(16+36) = 7.21
→ D thuộc Cluster 2 (khoảng cách = 0)
Điểm E(7, 5):
d(E, C1) = √[(7-2)² + (5-10)²] = √(25+25) = 7.07
d(E, C2) = √[(7-5)² + (5-8)²] = √(4+9) = 3.61
d(E, C3) = √[(7-1)² + (5-2)²] = √(36+9) = 6.71
→ E thuộc Cluster 2 (khoảng cách = 3.61)
Điểm F(6, 4):
d(F, C1) = √[(6-2)² + (4-10)²] = √(16+36) = 7.21
d(F, C2) = √[(6-5)² + (4-8)²] = √(1+16) = 4.12
d(F, C3) = √[(6-1)² + (4-2)²] = √(25+4) = 5.39
→ F thuộc Cluster 2 (khoảng cách = 4.12)
Điểm G(1, 2):
d(G, C1) = √[(1-2)² + (2-10)²] = √(1+64) = 8.06
d(G, C2) = √[(1-5)² + (2-8)²] = √(16+36) = 7.21
d(G, C3) = √[(1-1)² + (2-2)²] = 0
→ G thuộc Cluster 3 (khoảng cách = 0)
Điểm H(4, 9):
d(H, C1) = √[(4-2)² + (9-10)²] = √(4+1) = 2.24
d(H, C2) = √[(4-5)² + (9-8)²] = √(1+1) = 1.41
d(H, C3) = √[(4-1)² + (9-2)²] = √(9+49) = 7.62
→ H thuộc Cluster 2 (khoảng cách = 1.41)
Kết quả phân cụm vòng 1:
- Cluster 1: A(2,10)
- Cluster 2: C(8,4), D(5,8), E(7,5), F(6,4), H(4,9)
- Cluster 3: B(2,5), G(1,2)
Bước 1.2: Tính lại tâm cụm mới
Cluster 1:
C1_new = (2/1, 10/1) = (2.0, 10.0)
Cluster 2:
C2_new = ((8+5+7+6+4)/5, (4+8+5+4+9)/5)
= (30/5, 30/5)
= (6.0, 6.0)
Cluster 3:
C3_new = ((2+1)/2, (5+2)/2)
= (3/2, 7/2)
= (1.5, 3.5)
Tâm cụm mới:
- C1 = (2.0, 10.0) - không đổi
- C2 = (6.0, 6.0) - thay đổi từ (5, 8)
- C3 = (1.5, 3.5) - thay đổi từ (1, 2)
c. Tính SSE (Sum of Squared Errors) - Vòng 1
SSE = Σ d²(điểm, tâm_cụm_của_nó)
Cluster 1:
SSE1 = d²(A, C1) = 0² = 0
Cluster 2:
SSE2 = d²(C, C2_old) + d²(D, C2_old) + d²(E, C2_old) + d²(F, C2_old) + d²(H, C2_old)
= 5² + 0² + 3.61² + 4.12² + 1.41²
= 25 + 0 + 13.03 + 16.97 + 1.99
= 56.99
Cluster 3:
SSE3 = d²(B, C3_old) + d²(G, C3_old)
= 3.16² + 0²
= 9.99 + 0
= 9.99
Tổng SSE vòng 1:
SSE_total = 0 + 56.99 + 9.99 = 66.98
VÒNG LẶP 2
Bước 2.1: Gán điểm vào cụm gần nhất (với tâm mới)
Tâm cụm hiện tại:
- C1 = (2.0, 10.0)
- C2 = (6.0, 6.0)
- C3 = (1.5, 3.5)
Tính lại khoảng cách cho tất cả các điểm:
| Điểm | d(C1) | d(C2) | d(C3) | Cụm |
|---|---|---|---|---|
| A(2,10) | 0 | 5.66 | 6.52 | C1 |
| B(2,5) | 5 | 4.12 | 1.58 | C3 |
| C(8,4) | 8.49 | 2.83 | 6.52 | C2 |
| D(5,8) | 3.61 | 2.24 | 5.15 | C2 |
| E(7,5) | 7.07 | 1.41 | 5.59 | C2 |
| F(6,4) | 7.21 | 2 | 4.61 | C2 |
| G(1,2) | 8.06 | 6.40 | 1.58 | C3 |
| H(4,9) | 2.24 | 3.61 | 5.70 | C1 |
Kết quả phân cụm vòng 2:
- Cluster 1: A(2,10), H(4,9)
- Cluster 2: C(8,4), D(5,8), E(7,5), F(6,4)
- Cluster 3: B(2,5), G(1,2)
Bước 2.2: Tính lại tâm cụm
Cluster 1:
C1_new = ((2+4)/2, (10+9)/2) = (3.0, 9.5)
Cluster 2:
C2_new = ((8+5+7+6)/4, (4+8+5+4)/4) = (26/4, 21/4) = (6.5, 5.25)
Cluster 3:
C3_new = ((2+1)/2, (5+2)/2) = (1.5, 3.5) - không đổi
Tính SSE - Vòng 2
Cluster 1:
SSE1 = d²(A, C1_new) + d²(H, C1_new)
= [(2-3)²+(10-9.5)²] + [(4-3)²+(9-9.5)²]
= [1+0.25] + [1+0.25]
= 1.25 + 1.25 = 2.5
Cluster 2:
SSE2 = d²(C, C2_new) + d²(D, C2_new) + d²(E, C2_new) + d²(F, C2_new)
= [(8-6.5)²+(4-5.25)²] + [(5-6.5)²+(8-5.25)²] + [(7-6.5)²+(5-5.25)²] + [(6-6.5)²+(4-5.25)²]
= [2.25+1.56] + [2.25+7.56] + [0.25+0.06] + [0.25+1.56]
= 3.81 + 9.81 + 0.31 + 1.81 = 15.74
Cluster 3:
SSE3 = d²(B, C3_new) + d²(G, C3_new)
= [(2-1.5)²+(5-3.5)²] + [(1-1.5)²+(2-3.5)²]
= [0.25+2.25] + [0.25+2.25]
= 2.5 + 2.5 = 5.0
Tổng SSE vòng 2:
SSE_total = 2.5 + 15.74 + 5.0 = 23.24
So sánh SSE
| Vòng lặp | SSE | Giảm |
|---|---|---|
| Vòng 1 | 66.98 | - |
| Vòng 2 | 23.24 | 65.3% |
Nhận xét: SSE giảm đáng kể từ 66.98 xuống 23.24, cho thấy thuật toán đang hội tụ. Có thể tiếp tục thêm vòng lặp cho đến khi SSE không đổi hoặc thay đổi rất nhỏ.
Kết quả cuối cùng sau 2 vòng lặp:
Các cụm:
- Cluster 1 (Vùng trên): A(2,10), H(4,9) - Tâm: (3.0, 9.5)
- Cluster 2 (Vùng giữa-phải): C(8,4), D(5,8), E(7,5), F(6,4) - Tâm: (6.5, 5.25)
- Cluster 3 (Vùng dưới-trái): B(2,5), G(1,2) - Tâm: (1.5, 3.5)
Biểu diễn trực quan:
Y
10 │ A H
9 │
8 │ D
7 │
6 │
5 │ B E
4 │ C F
3 │
2 │ G
1 │
└─────────────────── X
1 2 3 4 5 6 7 8
Tổng Kết 3 Dạng Bài Câu 2
| Thuật toán | Mục đích | Đầu vào | Đầu ra | Tham số chính |
|---|---|---|---|---|
| Apriori | Tìm luật kết hợp | Giao dịch | Frequent itemsets, Rules | min_support, min_confidence |
| ID3 | Phân loại | Dữ liệu có nhãn | Cây quyết định | Không có (tự động chọn thuộc tính tốt nhất) |
| K-means | Phân cụm | Dữ liệu số | Các cụm + tâm cụm | K (số cụm), tâm ban đầu |
Công thức quan trọng cần nhớ:
Apriori:
- Support(X) = số giao dịch chứa X / tổng số giao dịch
- Confidence(X→Y) = Support(X∪Y) / Support(X)
ID3:
- Entropy(S) = -Σ p_i × log₂(p_i)
- Gain(S,A) = Entropy(S) - Σ (|Sv|/|S|) × Entropy(Sv)
K-means:
- Distance(p,c) = √[(x_p - x_c)² + (y_p - y_c)²]
- SSE = Σ distance²(điểm, tâm_cụm)
- Tâm mới = trung bình tọa độ các điểm trong cụm
Lưu ý: Đây là bài giải chi tiết với các bước tính toán cụ thể. Trong bài thi thực tế, bạn có thể rút gọn một số bước tính toán trung gian nếu cần thiết.