Suis-je en sous-apprentissage ?
Vous créez un modèle de random forest pour prédire si vous allez gagner une future partie de Tic-Tac-Toe. À partir du jeu de données tic_tac_toe, vous avez constitué des jeux d’entraînement et de test : X_train, X_test, y_train et y_test.
Vous avez choisi d’entraîner plusieurs modèles de random forest avec des nombres d’arbres différents (1, 2, 3, 4, 5, 10, 20 et 50). Plus vous utilisez d’arbres, plus l’exécution du modèle sera longue. En revanche, si vous n’en utilisez pas assez, vous risquez le sous-apprentissage. Vous avez créé une boucle for pour tester votre modèle avec ces différents nombres d’arbres.
Cet exercice fait partie du cours
Validation des modèles en Python
Instructions
- À chaque itération, prédisez des 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 en utilisant les instructions print.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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(____))