Ocena modelu z użyciem podziału na zbiór treningowy i testowy
Przetestujesz teraz model mpg_model na danych testowych mpg_test.
Do obliczania RMSE i R-kwadrat udostępniono gotowe funkcje:
rmse(predcol, ycol)
r_squared(predcol, ycol)
gdzie:
- predcol: przewidywane wartości
- ycol: rzeczywiste wartości zmiennej wynikowej
Na koniec zwizualizujesz predykcje na tle rzeczywistych wartości.
Na ogół model osiąga lepsze wyniki na danych treningowych niż na testowych (choć zdarza się, że zbiór testowy daje zaskakująco dobre rezultaty). Niewielka różnica w jakości modelu jest akceptowalna – jeśli jednak wyniki na danych treningowych są znacznie lepsze, oznacza to problem.
Ramki danych mpg_train i mpg_test oraz model mpg_model zostały wstępnie załadowane, podobnie jak funkcje rmse() i r_squared().
To ćwiczenie jest częścią kursu
Nadzorowane uczenie maszynowe w R: regresja
Instrukcje do ćwiczenia
- Przewidź miejskie zużycie paliwa na podstawie zmiennej
hwydla danychmpg_train. Przypisz predykcje do kolumnypred. - Przewidź miejskie zużycie paliwa na podstawie zmiennej
hwydla danychmpg_test. Przypisz predykcje do kolumnypred. - Użyj funkcji
rmse(), aby ocenić RMSE dla zbioru treningowego i testowego. Porównaj wyniki – czy są podobne? - Zrób to samo z funkcją
r_squared(). Czy wyniki są podobne? - Użyj
ggplot2, aby zwizualizować predykcje względem zmiennejctyna danych testowych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Examine the objects that have been loaded
ls.str()
# predict cty from hwy for the training set
mpg_train$pred <- ___
# predict cty from hwy for the test set
mpg_test$pred <- ___
# Evaluate the rmse on both training and test data and print them
(rmse_train <- ___)
(rmse_test <- ___)
# Evaluate the r-squared on both training and test data.and print them
(rsq_train <- ___)
(rsq_test <- ___)
# Plot the predictions (on the x-axis) against the outcome (cty) on the test data
ggplot(___, aes(x = ___, y = ___)) +
geom_point() +
geom_abline()