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
Istruzioni dell'esercizio
- A ogni iterazione, predici i valori sia per gli insiemi di dati
X_traincheX_test. - A ogni iterazione, aggiungi a
train_scoresl'accuracy_score()del datasety_traine delle corrispondenti predizioni. - A ogni iterazione, aggiungi a
test_scoresl'accuracy_score()del datasety_teste 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(____))