Fazer previsões com uma random forest
Para ajustar um modelo de Machine Learning que prevê carteiras ideais, precisamos criar conjuntos de treino e teste para avaliar o desempenho. Vamos fazer isso como nos capítulos anteriores: pegar os arrays features e targets e dividi-los com base em um train_size que definimos. Em geral, o tamanho de treino fica entre 70% e 90% dos dados.
Em seguida, ajustamos nosso modelo (uma random forest, neste caso) nos dados de treino e avaliamos os escores R\(^2\) em treino e teste usando .score() do modelo. Aqui, os hiperparâmetros já foram definidos para você, mas normalmente você faria uma busca com ParameterGrid, como fizemos nos capítulos anteriores.
Este exercicio faz parte do curso
Machine Learning para Finanças em Python
Instruções do exercicio
- Defina
train_sizecomo 85% do conjunto completo de treino usando a propriedade.shapedefeatures. - Crie os alvos de treino e de teste a partir de
targetsusando indexação em Python. - Ajuste o modelo de random forest com
train_featuresetrain_targets.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Make train and test features
train_size = int(0.85 * ____)
train_features = features[:train_size]
test_features = features[train_size:]
train_targets = targets[____]
test_targets = targets[____]
# Fit the model and check scores on train and test
rfr = RandomForestRegressor(n_estimators=300, random_state=42)
rfr.fit(____, ____)
print(rfr.score(train_features, train_targets))
print(rfr.score(test_features, test_targets))