Heb ik last van underfitting?
Je maakt een random forest-model om te voorspellen of je een toekomstige pot boter-kaas-en-eieren wint. Met de tic_tac_toe-gegevensset heb je trainings- en testgegevenssets gemaakt: X_train, X_test, y_train en y_test.
Je hebt besloten om een reeks random forest-modellen te maken met verschillende aantallen bomen (1, 2, 3, 4, 5, 10, 20 en 50). Hoe meer bomen je gebruikt, hoe langer je random forest-model erover doet om te draaien. Maar als je niet genoeg bomen gebruikt, loop je het risico op underfitting. Je hebt een for-lus gemaakt om je model te testen bij de verschillende aantallen bomen.
Deze oefening maakt deel uit van de cursus
Modelvalidatie in Python
Oefeninstructies
- Voorspel in elke lus waarden voor zowel de gegevenssets
X_trainalsX_test. - Voeg in elke lus de
accuracy_score()van dey_train-gegevensset en de bijbehorende voorspellingen toe aantrain_scores. - Voeg in elke lus de
accuracy_score()van dey_test-gegevensset en de bijbehorende voorspellingen toe aantest_scores. - Print de training- en test-scores met de printstatements.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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(____))