Experimente diferentes profundidades máximas
Sempre queremos otimizar nossos modelos de Machine Learning para fazer as melhores previsões possíveis. Podemos fazer isso ajustando hiperparâmetros, que são configurações dos nossos modelos. Veremos em mais detalhes como isso é útil nos próximos capítulos, mas por enquanto pense neles como botões que você pode girar para deixar as previsões o mais boas possível.
Para árvores de decisão comuns, provavelmente o hiperparâmetro mais importante é max_depth. Ele limita o número de divisões (splits) em uma árvore de decisão. Vamos encontrar o melhor valor de max_depth com base no escore R\(^2\) do nosso modelo no conjunto de teste, que podemos obter usando o método score() dos nossos modelos de árvore de decisão.
Este exercicio faz parte do curso
Machine Learning para Finanças em Python
Instruções do exercicio
- Faça um loop pelos valores 3, 5 e 10 para usar como o parâmetro
max_depthno nosso modelo de árvore de decisão. - Defina o parâmetro
max_depthdo nosso DecisionTreeRegressor como sendo igual adem cada iteração do loop. - Imprima o escore do modelo em
train_featuresetrain_targets.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Loop through a few different max depths and check the performance
for d in [____]:
# Create the tree and fit it
decision_tree = DecisionTreeRegressor(____)
decision_tree.fit(train_features, train_targets)
# Print out the scores on train and test
print('max_depth=', str(d))
print(decision_tree.score(____))
print(decision_tree.score(test_features, test_targets), '\n')