Kom igångKom igång gratis

Underanpassar jag modellen?

Du skapar en random forest-modell för att förutsäga om du kommer att vinna ett framtida parti Tre i rad. Med hjälp av datamängden tic_tac_toe har du skapat tränings- och testdatamängder: X_train, X_test, y_train och y_test.

Du har bestämt dig för att skapa ett antal random forest-modeller med varierande antal träd (1, 2, 3, 4, 5, 10, 20 och 50). Ju fler träd du använder, desto längre tid tar modellen att köra. Om du däremot använder för få träd riskerar du underanpassning. Du har skapat en for-slinga för att testa modellen med olika antal träd.

Den här övningen är en del av kursen

Modellvalidering i Python

Visa kurs

Övningsinstruktioner

  • Prediksjonera värden för både X_train- och X_test-datamängderna i varje iteration av slingan.
  • Lägg till accuracy_score() för y_train-datamängden och motsvarande prediktioner i train_scores i varje iteration.
  • Lägg till accuracy_score() för y_test-datamängden och motsvarande prediktioner i test_scores i varje iteration.
  • Skriv ut tränings- och testresultaten med hjälp av print-satserna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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(____))
Redigera och kör kod