Essayer différentes profondeurs maximales
Nous voulons toujours optimiser nos modèles de Machine Learning pour obtenir les meilleures prédictions possibles. Nous pouvons y arriver en ajustant des hyperparamètres, c'est‑à‑dire des réglages de nos modèles. Nous verrons plus en détail leur utilité dans les prochains chapitres, mais pour l'instant, voyez-les comme des boutons que l'on peut tourner pour améliorer la qualité de nos prédictions.
Pour les arbres de décision classiques, l'hyperparamètre le plus important est probablement max_depth. Il limite le nombre de divisions dans un arbre de décision. Trouvons la meilleure valeur de max_depth en fonction du score R\(^2\) de notre modèle sur l'ensemble de test, que nous pouvons obtenir à l'aide de la méthode score() de nos modèles d'arbres de décision.
Cette activité fait partie du cours
Machine Learning pour la finance en Python
Instructions de l’exercice
- Parcourez 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 pour qu'il soit é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')