BaşlayınÜcretsiz başlayın

Modelleri bir araya getirme (Ensembling)

Machine Learning modellerinden gelen tahminleri iyileştirmenin bir yolu ensembling yapmaktır. Basit bir yaklaşım, birden fazla modelin tahminlerinin ortalamasını almaktır. Daha karmaşık bir yaklaşım ise modellerin tahminlerini başka bir modele besleyip nihai tahminleri bu modelin yapmasını sağlamaktır. Her iki yaklaşım da genellikle toplam performansımızı artırır (bireysel modellerimiz yeterince iyiyse). Hatırlarsan, random forest'lar da birçok karar ağacını bir araya getirerek ensembling yapar.

Sinir ağı tahminlerimizi bir araya getirmek için az önce oluşturduğumuz 3 modelle — temel model, özel kayıp fonksiyonlu model ve dropout'lu model — tahmin yapacağız. Sonra tahminleri numpy'un .hstack() fonksiyonuyla yatayda birleştirip, satır bazında np.mean(predictions, axis=1) ile ortalamasını alacağız.

Bu egzersiz, kursun bir parçasıdır

Python ile Finans için Machine Learning

Kursa Göz Atın

Egzersiz talimatları

  • .predict() metodunu kullanarak, 3 modelin (model_1, model_2, model_3) scaled_train_features ve scaled_test_features üzerindeki tahminlerini oluştur.
  • Tahminleri yatayda bir matris halinde birleştir (np.hstack()), ardından satır bazında ortalama alarak eğitim ve test kümeleri için ortalama tahminleri elde et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Make predictions from the 3 neural net models
train_pred1 = model_1.predict(____)
test_pred1 = model_1.predict(____)

train_pred2 = ____
test_pred2 = ____

train_pred3 = model_3.predict(scaled_train_features)
test_pred3 = model_3.predict(scaled_test_features)

# Horizontally stack predictions and take the average across rows
train_preds = np.mean(np.hstack((train_pred1, train_pred2, train_pred3)), axis=1)
test_preds = np.mean(____, ____)
print(test_preds[-5:])
Kodu Düzenle ve Çalıştır