12 KiB
Bài Tập Khai Phá Dữ Liệu - Đề Thi Mẫu 2025 (Phiên bản Rút gọn)
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. Giá trị trung bình, trung vị, mode
X (sau khi sắp xếp: 4.5, 5.3, 5.5, 6.0, 6.5, 6.7, 7.0, 7.0, 7.0, 8.5, 8.6, 9.1):
- Trung bình: (4.5 + 5.3 + ... + 9.1) / 12 = 81.7 / 12 = 6.81
- Trung vị: (6.7 + 7.0) / 2 = 6.85
- Mode: 7.0 (xuất hiện 3 lần)
Y (sau khi sắp xếp: 5.5, 6.0, 6.0, 6.5, 6.8, 7.2, 7.5, 8.0, 8.5, 8.5, 8.5, 9.0):
- Trung bình: 88.0 / 12 = 7.33
- Trung vị: (7.2 + 7.5) / 2 = 7.35
- Mode: 8.5 (xuất hiện 3 lần)
b. Boxplot của X và Y
X:
- Min = 4.5, Q1 = 5.75, Median = 6.85, Q3 = 7.75, Max = 9.1, IQR = 2.0
Y:
- Min = 5.5, Q1 = 6.25, Median = 7.35, Q3 = 8.5, Max = 9.0, IQR = 2.25
c. Chuẩn hóa dữ liệu
Phương pháp 1: Decimal Scaling
Công thức: x' = x / 10^j (chọn j sao cho Max(|x'|) < 1)
X: Max = 9.1 → j = 1
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
Y: Max = 9.0 → j = 1
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
Phương pháp 2: Min-Max Normalization
Công thức: x' = (x - min) / (max - min)
X: Min = 4.5, Max = 9.1, Range = 4.6
Ví dụ: 7.0 → (7.0 - 4.5) / 4.6 = 0.543
Kết quả: 0.543, 0.870, 0.891, 0.478, 0.435, 0.543, 0.326, 0.217, 0.543, 1.000, 0.000, 0.174
Y: Min = 5.5, Max = 9.0, Range = 3.5
Kết quả: 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
Công thức: x' = (x - μ) / σ
X: μ = 6.81, σ = 1.398
Ví dụ: 7.0 → (7.0 - 6.81) / 1.398 = 0.136
Kết quả: 0.136, 1.209, 1.280, -0.079, -0.222, 0.136, -0.579, -0.937, 0.136, 1.638, -1.652, -1.080
Y: μ = 7.33, σ = 1.177
Kết quả: -0.110, 0.569, 0.993, 0.144, 0.993, -1.130, -0.705, -0.450, 1.417, 0.993, -1.555, -1.130
d. Làm trơn dữ liệu (Binning với 4 bins)
Phương pháp 1: Equal-Width + Bin Means
X: Range = 4.6, Bin width = 1.15
| Bin | Khoảng | Giá trị | Mean |
|---|---|---|---|
| 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 |
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
Y: Range = 3.5, Bin width = 0.875
| Bin | Khoảng | Giá trị | Mean |
|---|---|---|---|
| 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 |
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
Phương pháp 2: Bin Boundaries
Thay mỗi giá trị bằng biên (min/max) gần nhất trong bin.
X:
Kết quả: 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
Thay mỗi giá trị bằng trung vị của bin.
X: Medians = [5.3, 6.5, 7.0, 8.6]
Kết quả: 7.0, 8.6, 8.6, 6.5, 6.5, 7.0, 6.5, 5.3, 7.0, 8.6, 5.3, 5.3
Phương pháp 4: Equal-Frequency
Mỗi bin có 3 phần tử.
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
| Bin | Phần tử | Mean |
|---|---|---|
| 1 | 4.5, 5.3, 5.5 | 5.10 |
| 2 | 6.0, 6.5, 6.7 | 6.40 |
| 3 | 7.0, 7.0, 7.0 | 7.00 |
| 4 | 8.5, 8.6, 9.1 | 8.73 |
Kết quả: 5.1, 5.1, 5.1, 6.4, 6.4, 6.4, 7.0, 7.0, 7.0, 8.73, 8.73, 8.73
e. Hệ số tương quan
Bảng tính toán
| 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 |
| Σ | 12.164 | 21.508 | 15.248 |
Phương pháp 1: Công thức trực tiếp
r = Σ[(xi - x̄)(yi - ȳ)] / √[Σ(xi - x̄)² × Σ(yi - ȳ)²]
r = 12.164 / √(21.508 × 15.248) = 12.164 / 18.110 = 0.672
Phương pháp 2: Qua Covariance và Standard Deviation
Lưu ý: Có 2 công thức covariance:
- Population: Cov(A,B) = Σ(ai - Ā)(bi - B̄) / n
- Sample: Cov(X,Y) = Σ(xi - x̄)(yi - ȳ) / (n-1)
Vì đây là dữ liệu mẫu (12 điểm), dùng công thức sample (chia cho n-1):
Cov(X,Y) = 12.164 / 11 = 1.106
σx = √(21.508 / 11) = 1.398
σy = √(15.248 / 11) = 1.177
r = 1.106 / (1.398 × 1.177) = 0.672
Kết luận: r ≈ 0.67 → Tương quan dương khá mạnh
Câu 2 - Dạng 1: Thuật Toán Apriori
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 |
Tham số: min_support = 40%, min_confidence = 70% Ngưỡng: 7 × 0.4 = 2.8 ≈ 3 lần
a. Tìm tập thường xuyên
L₁ (tập 1 phần tử):
| Item | Xuất hiện | Support | Thường xuyên? |
|---|---|---|---|
| A | 3 | 42.9% | ✓ |
| D | 3 | 42.9% | ✓ |
| E | 4 | 57.1% | ✓ |
| F | 3 | 42.9% | ✓ |
| H | 3 | 42.9% | ✓ |
| O | 4 | 57.1% | ✓ |
| S | 3 | 42.9% | ✓ |
(B: 2, M: 2 bị loại)
L₂ (tập 2 phần tử):
| Tập | Xuất hiện | Support | Thường xuyên? |
|---|---|---|---|
| {A, H} | 3 | 42.9% | ✓ |
| {A, S} | 3 | 42.9% | ✓ |
| {E, F} | 3 | 42.9% | ✓ |
| {H, S} | 3 | 42.9% | ✓ |
(Các tập khác < 3 lần)
L₃ (tập 3 phần tử):
| Tập | Xuất hiện | Support | Thường xuyên? |
|---|---|---|---|
| {A, H, S} | 3 | 42.9% | ✓ |
Tổng cộng: 12 tập thường xuyên
b. Luật kết hợp mạnh
Công thức: confidence(X → Y) = support(X ∪ Y) / support(X)
Từ {A, H}:
- A → H: 3/3 = 100% ✓
- H → A: 3/3 = 100% ✓
Từ {A, S}:
- A → S: 100% ✓
- S → A: 100% ✓
Từ {E, F}:
- E → F: 3/4 = 75% ✓
- F → E: 3/3 = 100% ✓
Từ {H, S}:
- H → S: 100% ✓
- S → H: 100% ✓
Từ {A, H, S}:
- A → {H, S}: 100% ✓
- H → {A, S}: 100% ✓
- S → {A, H}: 100% ✓
- {A, H} → S: 100% ✓
- {A, S} → H: 100% ✓
- {H, S} → A: 100% ✓
Tổng: 14 luật kết hợp mạnh
Câu 2 - Dạng 2: Thuật Toán ID3
Dữ liệu
| Outlook | Temperature | Humidity | Wind | Play |
|---|---|---|---|---|
| Sunny | Hot | High | Weak | No |
| Sunny | Hot | High | Strong | No |
| Overcast | Hot | High | Weak | Yes |
| Rain | Mild | High | Weak | Yes |
| Rain | Cool | Normal | Weak | Yes |
| Rain | Cool | Normal | Strong | No |
| Overcast | Cool | Normal | Strong | Yes |
| Sunny | Mild | High | Weak | No |
| Sunny | Cool | Normal | Weak | Yes |
| Rain | Mild | Normal | Weak | Yes |
| Sunny | Mild | Normal | Strong | Yes |
| Overcast | Mild | High | Strong | Yes |
| Overcast | Hot | Normal | Weak | Yes |
| Rain | Mild | High | Strong | No |
Tổng: 14 mẫu (9 Yes, 5 No)
a. Xây dựng cây quyết định
Bước 1: Entropy gốc
Entropy(S) = -(9/14)log₂(9/14) - (5/14)log₂(5/14)
= -0.643×(-0.637) - 0.357×(-1.485) = 0.940
Bước 2: Information Gain
Outlook:
- Sunny (5): 2 Yes, 3 No → Entropy = 0.971
- Overcast (4): 4 Yes, 0 No → Entropy = 0
- Rain (5): 3 Yes, 2 No → Entropy = 0.971
Entropy_weighted = (5/14)×0.971 + (4/14)×0 + (5/14)×0.971 = 0.694
Gain(Outlook) = 0.940 - 0.694 = 0.246 ⭐
Temperature: Gain = 0.029 Humidity: Gain = 0.151 Wind: Gain = 0.048
→ Chọn Outlook (Gain cao nhất)
Cây quyết định:
Outlook
/ | \
Sunny Overcast Rain
/ | \
Humidity Yes Wind
/ \ / \
High Normal Weak Strong
| | | |
No Yes Yes No
c. Dự đoán
Mẫu: Outlook=Sunny, Humidity=High, Wind=Weak
Quyết định:
- Outlook = Sunny → nhánh Sunny
- Humidity = High → nhánh High
- Kết quả: No
Câu 2 - Dạng 3: Thuật Toán K-means
Dữ liệ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 |
Tham số: K=3, Tâm ban đầu: C1(2,10), C2(5,8), C3(1,2)
Công thức khoảng cách: d = √[(x₁-x₂)² + (y₁-y₂)²]
VÒNG 1
Gán điểm (ví dụ A):
d(A, C1) = √[(2-2)² + (10-10)²] = 0
d(A, C2) = √[(2-5)² + (10-8)²] = 3.61
d(A, C3) = √[(2-1)² + (10-2)²] = 8.06
→ A ∈ Cluster 1
Kết quả gán:
- Cluster 1: A
- Cluster 2: C, D, E, F, H
- Cluster 3: B, G
Tâm mới:
- C1 = (2.0, 10.0)
- C2 = ((8+5+7+6+4)/5, (4+8+5+4+9)/5) = (6.0, 6.0)
- C3 = ((2+1)/2, (5+2)/2) = (1.5, 3.5)
SSE: 0 + 56.99 + 9.99 = 66.98
VÒNG 2
Gán điểm với tâm mới:
| Điểm | d(C1) | d(C2) | d(C3) | Cụm |
|---|---|---|---|---|
| A | 0 | 5.66 | 6.52 | C1 |
| B | 5 | 4.12 | 1.58 | C3 |
| C | 8.49 | 2.83 | 6.52 | C2 |
| D | 3.61 | 2.24 | 5.15 | C2 |
| E | 7.07 | 1.41 | 5.59 | C2 |
| F | 7.21 | 2 | 4.61 | C2 |
| G | 8.06 | 6.40 | 1.58 | C3 |
| H | 2.24 | 3.61 | 5.70 | C1 |
Kết quả:
- Cluster 1: A, H
- Cluster 2: C, D, E, F
- Cluster 3: B, G
Tâm mới:
- C1 = (3.0, 9.5)
- C2 = (6.5, 5.25)
- C3 = (1.5, 3.5)
SSE: 2.5 + 15.74 + 5.0 = 23.24 (giảm 65.3%)
Tổng Kết
Câu 1: Kỹ thuật tiền xử lý
| Kỹ thuật | Phương pháp | Khi nào dùng |
|---|---|---|
| Chuẩn hóa | Decimal Scaling | Nhanh, đơn giản |
| Min-Max | Neural networks, [0,1] | |
| Z-Score | So sánh nhiều biến, phát hiện outliers | |
| Binning | Equal-Width + Means | Dữ liệu phân phối đều |
| Equal-Frequency | Dữ liệu lệch, có outliers | |
| Boundaries/Medians | Giữ giá trị gốc, kháng nhiễu |
Câu 2: Thuật toán
| Thuật toán | Mục đích | Tham số | Kết quả |
|---|---|---|---|
| Apriori | Tìm luật kết hợp | min_support, min_confidence | Frequent itemsets, Rules |
| ID3 | Phân loại | - | Cây quyết định |
| K-means | Phân cụm | K, tâm ban đầu | Các cụm + SSE |
Công thức quan trọng:
- Entropy: -Σ p_i log₂(p_i)
- Gain: Entropy(S) - Σ (|Sv|/|S|) × Entropy(Sv)
- Confidence: Support(X∪Y) / Support(X)
- SSE: Σ distance²(điểm, tâm)