IniziaInizia gratis

Sto underfittando?

Stai creando un modello di random forest per prevedere se vincerai una futura partita di Tris (Tic-Tac-Toe). Usando l'insieme di dati tic_tac_toe, hai creato gli insiemi di dati di training e di test, X_train, X_test, y_train e y_test.

Hai deciso di creare una serie di modelli di random forest con quantità variabili di alberi (1, 2, 3, 4, 5, 10, 20 e 50). Più alberi usi, più tempo impiegherà il tuo modello di random forest per essere eseguito. Tuttavia, se non usi abbastanza alberi, rischi l'underfitting. Hai creato un ciclo for per testare il tuo modello con diversi numeri di alberi.

Questo esercizio fa parte del corso

Validazione dei modelli in Python

Visualizza il corso

Istruzioni dell'esercizio

  • A ogni iterazione, predici i valori sia per gli insiemi di dati X_train che X_test.
  • A ogni iterazione, aggiungi a train_scores l'accuracy_score() del dataset y_train e delle corrispondenti predizioni.
  • A ogni iterazione, aggiungi a test_scores l'accuracy_score() del dataset y_test e delle corrispondenti predizioni.
  • Stampa gli score di training e di test usando le istruzioni di stampa.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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(____))
Modifica ed esegui il codice