Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Voorspel in elke lus waarden voor zowel de gegevenssets X_train als X_test.
  • Voeg in elke lus de accuracy_score() van de y_train-gegevensset en de bijbehorende voorspellingen toe aan train_scores.
  • Voeg in elke lus de accuracy_score() van de y_test-gegevensset en de bijbehorende voorspellingen toe aan test_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(____))
Code bewerken en uitvoeren