Tổ hợp mô hình

Chinh phục cuộc thi Kaggle bằng Python

Yauhen Babakhin

Kaggle Grandmaster

Tổ hợp mô hình

thiết kế tổ hợp của một lời giải thắng cuộc trong cuộc thi Kaggle

Chinh phục cuộc thi Kaggle bằng Python

Blending mô hình

  • Bài toán hồi quy
  • Huấn luyện hai mô hình khác nhau: A và B
  • Dự đoán trên dữ liệu kiểm tra:
Test ID Dự đoán mô hình A Dự đoán mô hình B
1 1.2 1.5
2 0.1 0.4
3 5.4 7.2
Chinh phục cuộc thi Kaggle bằng Python

Blending mô hình

 

Test ID Dự đoán mô hình A Dự đoán mô hình B Trung bình cộng
1 1.2 1.5 1.35
2 0.1 0.4 0.25
3 5.4 7.2 6.30
Chinh phục cuộc thi Kaggle bằng Python

Blending mô hình

 

Trung bình cộng

$$arithmetic = \frac{1}{n}\sum_{i=1}^{n}{x_i}$$

Trung bình nhân

$$geometric = \Bigg({\prod_{i=1}^{n}{x_i}}\Bigg)^{\frac{1}{n}}$$

Chinh phục cuộc thi Kaggle bằng Python

Stacking mô hình

 

  1. Chia dữ liệu train thành hai phần
  2. Huấn luyện nhiều mô hình trên Phần 1
  3. Dự đoán trên Phần 2
  4. Dự đoán trên dữ liệu kiểm tra
  5. Huấn luyện mô hình mới trên Phần 2 dùng dự đoán làm đặc trưng
  6. Dùng mô hình tầng 2 để dự đoán trên dữ liệu kiểm tra
Chinh phục cuộc thi Kaggle bằng Python

Ví dụ stacking

Train ID feature_1 ... feature_N Target
1 0.55 ... 1.37 1
2 0.12 ... -2.50 0
3 0.65 ... 3.14 0
4 0.10 ... 2.87 1
5 0.54 ... -0.10 0
Test IDs feature_1 ... feature_N Target
11 0.49 ... -2.32 ?
12 0.32 ... 1.15 ?
13 0.91 ... 0.81 ?
Chinh phục cuộc thi Kaggle bằng Python

Ví dụ stacking

Train ID feature_1 ... feature_N Target
1 0.55 ... 1.37 1
2 0.12 ... -2.50 0
3 0.65 ... 3.14 0

 

Train ID feature_1 ... feature_N Target
4 0.10 ... 2.87 1
5 0.54 ... -0.10 0
Chinh phục cuộc thi Kaggle bằng Python

Ví dụ stacking

Train ID feature_1 ... feature_N Target
1 0.55 ... 1.37 1
2 0.12 ... -2.50 0
3 0.65 ... 3.14 0

 

Train ID feature_1 ... feature_N Target
4 0.10 ... 2.87 1
5 0.54 ... -0.10 0

Huấn luyện mô hình A, B, C trên Phần 1

Chinh phục cuộc thi Kaggle bằng Python

Ví dụ stacking

Train ID feature_1 ... feature_N Target A_pred B_pred C_pred
4 0.10 ... 2.87 1 0.71 0.52 0.98
5 0.54 ... -0.10 0 0.45 0.32 0.24

 

Test IDs feature_1 ... feature_N Target A_pred B_pred C_pred
11 0.49 ... -2.32 ? 0.62 0.45 0.81
12 0.32 ... 1.15 ? 0.31 0.52 0.41
13 0.91 ... 0.81 ? 0.74 0.55 0.92
Chinh phục cuộc thi Kaggle bằng Python

Ví dụ stacking

Train ID Target A_pred B_pred C_pred
4 1 0.71 0.52 0.98
5 0 0.45 0.32 0.24

 

Test IDs Target A_pred B_pred C_pred
11 ? 0.62 0.45 0.81
12 ? 0.31 0.52 0.41
13 ? 0.74 0.55 0.92
Chinh phục cuộc thi Kaggle bằng Python

Ví dụ stacking

Train ID Target A_pred B_pred C_pred
4 1 0.71 0.52 0.98
5 0 0.45 0.32 0.24

 

Test IDs Target A_pred B_pred C_pred
11 ? 0.62 0.45 0.81
12 ? 0.31 0.52 0.41
13 ? 0.74 0.55 0.92

Huấn luyện mô hình tầng 2 trên Phần 2

Chinh phục cuộc thi Kaggle bằng Python

Ví dụ stacking

Train ID Target A_pred B_pred C_pred
4 1 0.71 0.52 0.98
5 0 0.45 0.32 0.24

 

Test IDs Target A_pred B_pred C_pred Dự đoán stacking
11 ? 0.62 0.45 0.81 0.73
12 ? 0.31 0.52 0.41 0.35
13 ? 0.74 0.55 0.92 0.88
Chinh phục cuộc thi Kaggle bằng Python

Ayo berlatih!

Chinh phục cuộc thi Kaggle bằng Python

Preparing Video For Download...