Model birleştirme

Python ile Bir Kaggle Yarışmasını Kazanmak

Yauhen Babakhin

Kaggle Grandmaster

Model birleştirme

Kaggle yarışmasında kazanan bir çözümün ensemble tasarımı

Python ile Bir Kaggle Yarışmasını Kazanmak

Model harmanlama

  • Regresyon problemi
  • İki farklı model eğitin: A ve B
  • Test verisinde tahmin yapın:
Test ID Model A tahmini Model B tahmini
1 1.2 1.5
2 0.1 0.4
3 5.4 7.2
Python ile Bir Kaggle Yarışmasını Kazanmak

Model harmanlama

 

Test ID Model A tahmini Model B tahmini Aritmetik ortalama
1 1.2 1.5 1.35
2 0.1 0.4 0.25
3 5.4 7.2 6.30
Python ile Bir Kaggle Yarışmasını Kazanmak

Model harmanlama

 

Aritmetik ortalama

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

Geometrik ortalama

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

Python ile Bir Kaggle Yarışmasını Kazanmak

Model yığma

 

  1. Eğitim verisini ikiye ayırın
  2. Bölüm 1'de birden çok model eğitin
  3. Bölüm 2 üzerinde tahmin yapın
  4. Test verisi üzerinde tahmin yapın
  5. Bölüm 2'de tahminleri özellik olarak kullanıp yeni model eğitin
    1. seviye modelle testte tahmin yapın
Python ile Bir Kaggle Yarışmasını Kazanmak

Yığma (stacking) örneği

Eğitim ID feature_1 ... feature_N Hedef
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 ID'leri feature_1 ... feature_N Hedef
11 0.49 ... -2.32 ?
12 0.32 ... 1.15 ?
13 0.91 ... 0.81 ?
Python ile Bir Kaggle Yarışmasını Kazanmak

Yığma (stacking) örneği

Eğitim ID feature_1 ... feature_N Hedef
1 0.55 ... 1.37 1
2 0.12 ... -2.50 0
3 0.65 ... 3.14 0

 

Eğitim ID feature_1 ... feature_N Hedef
4 0.10 ... 2.87 1
5 0.54 ... -0.10 0
Python ile Bir Kaggle Yarışmasını Kazanmak

Yığma (stacking) örneği

Eğitim ID feature_1 ... feature_N Hedef
1 0.55 ... 1.37 1
2 0.12 ... -2.50 0
3 0.65 ... 3.14 0

 

Eğitim ID feature_1 ... feature_N Hedef
4 0.10 ... 2.87 1
5 0.54 ... -0.10 0

Modeller A, B, C'yi Bölüm 1'de eğitin

Python ile Bir Kaggle Yarışmasını Kazanmak

Yığma (stacking) örneği

Eğitim ID feature_1 ... feature_N Hedef A_tahmin B_tahmin C_tahmin
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 ID'leri feature_1 ... feature_N Hedef A_tahmin B_tahmin C_tahmin
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
Python ile Bir Kaggle Yarışmasını Kazanmak

Yığma (stacking) örneği

Eğitim ID Hedef A_tahmin B_tahmin C_tahmin
4 1 0.71 0.52 0.98
5 0 0.45 0.32 0.24

 

Test ID'leri Hedef A_tahmin B_tahmin C_tahmin
11 ? 0.62 0.45 0.81
12 ? 0.31 0.52 0.41
13 ? 0.74 0.55 0.92
Python ile Bir Kaggle Yarışmasını Kazanmak

Yığma (stacking) örneği

Eğitim ID Hedef A_tahmin B_tahmin C_tahmin
4 1 0.71 0.52 0.98
5 0 0.45 0.32 0.24

 

Test ID'leri Hedef A_tahmin B_tahmin C_tahmin
11 ? 0.62 0.45 0.81
12 ? 0.31 0.52 0.41
13 ? 0.74 0.55 0.92

2. seviye modeli Bölüm 2'de eğitin

Python ile Bir Kaggle Yarışmasını Kazanmak

Yığma (stacking) örneği

Eğitim ID Hedef A_tahmin B_tahmin C_tahmin
4 1 0.71 0.52 0.98
5 0 0.45 0.32 0.24

 

Test ID'leri Hedef A_tahmin B_tahmin C_tahmin Yığma tahmini
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
Python ile Bir Kaggle Yarışmasını Kazanmak

Ayo berlatih!

Python ile Bir Kaggle Yarışmasını Kazanmak

Preparing Video For Download...