Utvärdera en modell med test/träningsuppdelning
Nu ska du testa modellen mpg_model på testdata, mpg_test.
Funktionerna rmse() och r_squared() för att beräkna RMSE och R-kvadrat har förberetts åt dig:
rmse(predcol, ycol)
r_squared(predcol, ycol)
där:
- predcol: De predikterade värdena
- ycol: Det faktiska utfallet
Du kommer även att plotta prediktion mot utfall.
I allmänhet är modellens prestanda bättre på träningsdata än på testdata (även om testdatan ibland kan ge oväntat bra resultat). En liten skillnad i prestanda är acceptabel – om prestandan på träningsdata är betydligt bättre finns det ett problem.
Dataramarna mpg_train och mpg_test, samt modellen mpg_model, har förinslästs tillsammans med funktionerna rmse() och r_squared().
Den här övningen är en del av kursen
Övervakad inlärning i R: Regression
Övningsinstruktioner
- Prediktera bränsleekonomi i stadskörning från
hwypåmpg_train-data. Tilldela prediktion till kolumnenpred. - Prediktera bränsleekonomi i stadskörning från
hwypåmpg_test-data. Tilldela prediktion till kolumnenpred. - Använd
rmse()för att utvärdera RMSE för både test- och träningsdata. Jämför resultaten. Är prestandan liknande? - Gör samma sak med
r_squared(). Är prestandan liknande? - Använd
ggplot2för att plotta prediktionerna motctypå testdata.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()