Add reconciled version

This commit is contained in:
2025-12-21 15:18:06 +00:00
parent 24eb7b3b31
commit 74b12fa731
2 changed files with 488 additions and 1 deletions

View File

@@ -1473,4 +1473,4 @@ Y
--- ---
**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. **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.

487
README_reconciled.md Normal file
View File

@@ -0,0 +1,487 @@
# 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(XY) / Support(X)
- **SSE:** Σ distance²(điểm, tâm)