# 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)