ÎncepețiÎncepe gratuit

Asamblarea modelelor

O modalitate de a îmbunătăți predicțiile modelelor de machine learning este asamblarea (ensembling). O abordare de bază constă în a face media predicțiilor mai multor modele. O abordare mai complexă presupune să introduci predicțiile unor modele într-un alt model, care generează predicțiile finale. Ambele abordări îmbunătățesc de obicei performanța generală (atâta timp cât modelele individuale sunt bune). Dacă îți amintești, pădurile aleatoare folosesc și ele asamblarea mai multor arbori de decizie.

Pentru a asambla predicțiile rețelei neuronale, vom genera predicții cu cele 3 modele pe care tocmai le-am creat — modelul de bază, modelul cu funcția de pierdere personalizată și modelul cu dropout. Apoi vom combina predicțiile cu funcția .hstack() din numpy și vom calcula media pe rânduri folosind np.mean(predictions, axis=1).

Acest exercițiu face parte din cursul

Machine Learning pentru finanțe în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Generează predicții pe scaled_train_features și scaled_test_features pentru cele 3 modele antrenate (model_1, model_2, model_3), folosind metoda .predict().
  • Stivuiește orizontal predicțiile (np.hstack()) într-o matrice, apoi calculează mediile pe rânduri pentru a obține predicțiile medii pentru seturile de antrenament și de testare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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:])
Editează și rulează codul