Comece agoraComece grátis

Ensembles de modelos

Uma forma de melhorar as previsões de modelos de machine learning é usando ensembles. Uma abordagem básica é fazer a média das previsões de vários modelos. Uma abordagem mais complexa é alimentar as previsões dos modelos em outro modelo, que gera as previsões finais. Em geral, ambas as abordagens melhoram o desempenho geral (desde que os modelos individuais sejam bons). Se você se lembra, random forests também usam ensemble de muitas árvores de decisão.

Para criar um ensemble das previsões da nossa rede neural, vamos gerar previsões com os 3 modelos que acabamos de criar — o modelo básico, o modelo com função de perda personalizada e o modelo com dropout. Em seguida, vamos combinar as previsões com a função .hstack() do numpy e tirar a média por linha com np.mean(predictions, axis=1).

Este exercicio faz parte do curso

Machine Learning para Finanças em Python

Ver curso

Instruções do exercicio

  • Crie previsões em scaled_train_features e scaled_test_features para os 3 modelos que ajustamos (model_1, model_2, model_3) usando o método .predict().
  • Empilhe horizontalmente (np.hstack()) as previsões em uma matriz e calcule as médias por linha para obter as previsões médias para os conjuntos de treino e teste.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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:])
Editar e Executar Código