CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • À chaque itération, prédisez les valeurs pour les jeux de données X_train et X_test.
  • À chaque itération, ajoutez à train_scores le accuracy_score() du jeu y_train et des prédictions correspondantes.
  • À chaque itération, ajoutez à test_scores le accuracy_score() du jeu y_test et 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(____))
Modifier et exécuter le code