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
Övningsinstruktioner
- Prediksjonera värden för både
X_train- ochX_test-datamängderna i varje iteration av slingan. - Lägg till
accuracy_score()föry_train-datamängden och motsvarande prediktioner itrain_scoresi varje iteration. - Lägg till
accuracy_score()föry_test-datamängden och motsvarande prediktioner itest_scoresi 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(____))