Zacznij terazZacznij za darmo

Czy mój model jest niedouczony?

Tworzysz model lasu losowego, który ma przewidywać, czy wygrasz przyszłą partię kółko i krzyżyk. Korzystając ze zbioru danych tic_tac_toe, przygotowałeś zbiory treningowy i testowy: X_train, X_test, y_train oraz y_test.

Postanowiłeś zbudować kilka modeli lasu losowego z różną liczbą drzew (1, 2, 3, 4, 5, 10, 20 i 50). Im więcej drzew, tym dłużej trwa uczenie modelu. Jeśli jednak użyjesz ich zbyt mało, ryzykujesz niedouczenie. Przygotowałeś pętlę for, która testuje model przy każdej z tych liczb drzew.

To ćwiczenie jest częścią kursu

Walidacja modeli w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • W każdej iteracji pętli przewiduj wartości zarówno dla zbioru X_train, jak i X_test.
  • W każdej iteracji pętli dodawaj do train_scores wartość accuracy_score() obliczoną dla y_train i odpowiadających im predykcji.
  • W każdej iteracji pętli dodawaj do test_scores wartość accuracy_score() obliczoną dla y_test i odpowiadających im predykcji.
  • Wyświetl wyniki dla zbioru treningowego i testowego za pomocą przygotowanych instrukcji print.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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(____))
Edytuj i uruchom kod