Walidacja krzyżowa leave-one-out
Załóżmy, że twój ulubiony cukierek nie znajduje się w zbiorze danych, a ty chcesz przewidzieć jego popularność. Walidacja krzyżowa 5-krotna trenuje model na zaledwie 80% danych naraz. Zbiór danych o cukierkach ma tylko 85 wierszy, więc pominięcie 20% danych mogłoby negatywnie wpłynąć na nasz model. Walidacja krzyżowa leave-one-out pozwala w pełni wykorzystać ograniczony zbiór danych i da najlepsze oszacowanie popularności twojego ulubionego cukierka!
W tym ćwiczeniu użyjesz cross_val_score(), aby przeprowadzić LOOCV.
To ćwiczenie jest częścią kursu
Walidacja modeli w Pythonie
Instrukcje do ćwiczenia
- Utwórz scorer, używając
mean_absolute_error, który będzie stosowany przezcross_val_score(). - Uzupełnij
cross_val_score()tak, aby korzystało z modelurfr, nowo zdefiniowanegomae_scoreroraz LOOCV. - Wyświetl średnią i odchylenie standardowe
scoresprzy użyciu bibliotekinumpy(zaimportowanej jakonp).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
from sklearn.metrics import mean_absolute_error, make_scorer
# Create scorer
mae_scorer = ____(____)
rfr = RandomForestRegressor(n_estimators=15, random_state=1111)
# Implement LOOCV
scores = cross_val_score(____, X=X, y=y, cv=____, scoring=____)
# Print the mean and standard deviation
print("The mean of the errors is: %s." % np.____(____))
print("The standard deviation of the errors is: %s." % np.____(____))