CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • À chaque itération, prédisez des 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 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(____))
Modifier et exécuter le code