Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Przewidź miejskie zużycie paliwa na podstawie zmiennej hwy dla danych mpg_train. Przypisz predykcje do kolumny pred.
  • Przewidź miejskie zużycie paliwa na podstawie zmiennej hwy dla danych mpg_test. Przypisz predykcje do kolumny pred.
  • 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 zmiennej cty na 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()
Edytuj i uruchom kod