Чи є в мене недонавчання?
Ви створюєте модель випадкового лісу, щоб передбачити, чи виграєте ви майбутню партію в хрестики-нулики. Використовуючи набір даних tic_tac_toe, ви підготували тренувальну й тестову вибірки: X_train, X_test, y_train та y_test.
Ви вирішили створити кілька моделей випадкового лісу з різною кількістю дерев (1, 2, 3, 4, 5, 10, 20 і 50). Чим більше дерев, тим довше виконуватиметься модель випадкового лісу. Однак якщо дерев замало, ви ризикуєте отримати недонавчання. Ви створили цикл for, щоб перевірити модель за різної кількості дерев.
Ця вправа є частиною курсу
Валідація моделей у Python
Інструкції до вправи
- У кожній ітерації спрогнозуйте значення для вибірок
X_trainіX_test. - У кожній ітерації додайте
accuracy_score()для вибіркиy_trainі відповідних передбачень доtrain_scores. - У кожній ітерації додайте
accuracy_score()для вибіркиy_testі відповідних передбачень доtest_scores. - Виведіть тренувальні та тестові оцінки за допомогою інструкцій print.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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(____))