Suis-je en sous-apprentissage?
Vous créez un modèle de forêt aléatoire pour prédire si vous gagnerez une future partie de Tic-Tac-Toe. À partir du jeu de données tic_tac_toe, vous avez créé des jeux d'entraînement et de test, X_train, X_test, y_train et y_test.
Vous avez décidé de créer plusieurs modèles de forêt aléatoire avec un nombre d'arbres variable (1, 2, 3, 4, 5, 10, 20 et 50). Plus vous utilisez d'arbres, plus l'exécution du modèle prendra du temps. Cependant, si vous n'en utilisez pas assez, vous risquez le sous-apprentissage. Vous avez mis en place une boucle for pour tester votre modèle avec ces différents nombres d'arbres.
Cette activité fait partie du cours
Validation de modèles en Python
Instructions de l’exercice
- À chaque itération, prédisez les valeurs pour les jeux de données
X_trainetX_test. - À chaque itération, ajoutez à
train_scoresleaccuracy_score()du jeuy_trainet des prédictions correspondantes. - À chaque itération, ajoutez à
test_scoresleaccuracy_score()du jeuy_testet des prédictions correspondantes. - Affichez les scores d'entraînement et de test à l'aide des instructions print.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
from sklearn.metrics import accuracy_score
test_scores, train_scores = [], []
for i in [1, 2, 3, 4, 5, 10, 20, 50]:
rfc = RandomForestClassifier(n_estimators=i, random_state=1111)
rfc.fit(X_train, y_train)
# Create predictions for the X_train and X_test datasets.
train_predictions = rfc.predict(____)
test_predictions = rfc.predict(____)
# Append the accuracy score for the test and train predictions.
train_scores.append(round(____(____, ____), 2))
test_scores.append(round(____(____, ____), 2))
# Print the train and test scores.
print("The training scores were: {}".format(____))
print("The testing scores were: {}".format(____))