488 lines
12 KiB
Markdown
488 lines
12 KiB
Markdown
# 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:**
|
||
1. Outlook = Sunny → nhánh Sunny
|
||
2. Humidity = High → nhánh High
|
||
3. **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)
|