Trpí model underfittingem?
Vytváříš model náhodného lesa pro předpověď, zda vyhraješ budoucí hru Tic-Tac-Toe. Z datasetu tic_tac_toe jsi sestavil/a trénovací a testovací datové sady: X_train, X_test, y_train a y_test.
Rozhodl/a ses vytvořit několik modelů náhodného lesa s různým počtem stromů (1, 2, 3, 4, 5, 10, 20 a 50). Čím více stromů použiješ, tím déle bude model trvat. Pokud jich ale použiješ příliš málo, hrozí underfitting. Pomocí cyklu for otestuješ model při různých počtech stromů.
Toto cvičení je součástí kurzu
Validace modelů v Pythonu
Pokyny k cvičení
- V každé iteraci cyklu předpověz hodnoty pro datové sady
X_trainiX_test. - V každé iteraci cyklu přidej
accuracy_score()datové sadyy_traina odpovídajících predikcí dotrain_scores. - V každé iteraci cyklu přidej
accuracy_score()datové sadyy_testa odpovídajících predikcí dotest_scores. - Vypiš trénovací a testovací skóre pomocí připravených příkazů
print.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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(____))