Essayez différentes profondeurs maximales
Nous voulons toujours optimiser nos modèles de Machine Learning pour obtenir les meilleures prédictions possible. Nous pouvons le faire en ajustant les hyperparamètres, c'est-à-dire les réglages de nos modèles. Nous verrons plus en détail leur utilité dans les chapitres suivants, mais pour l'instant, considérez-les comme des curseurs que l'on peut déplacer pour améliorer au maximum nos prédictions.
Pour les arbres de décision classiques, l'hyperparamètre probablement le plus important est max_depth. Il limite le nombre de divisions dans un arbre de décision. Cherchons la meilleure valeur de max_depth en nous basant sur le score R\(^2\) de notre modèle sur l'ensemble de test, que l'on peut obtenir grâce à la méthode score() de nos modèles d'arbres de décision.
Cet exercice fait partie du cours
<cours>Machine Learning pour la finance en Python</cours>Instructions de l’exercice
- Itérez sur les valeurs 3, 5 et 10 à utiliser comme paramètre
max_depthdans notre modèle d'arbre de décision. - Définissez le paramètre
max_depthde notre DecisionTreeRegressor égal àdà chaque itération de la boucle. - Affichez le score du modèle sur
train_featuresettrain_targets.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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')