Avaliar um modelo usando divisão treino/teste
Agora você vai testar o modelo mpg_model nos dados de teste, mpg_test.
As funções rmse() e r_squared() para calcular RMSE e R-squared foram fornecidas para conveniência:
rmse(predcol, ycol)
r_squared(predcol, ycol)
onde:
- predcol: os valores previstos
- ycol: o desfecho real
Você também vai plotar as previsões versus o desfecho.
De modo geral, o desempenho do modelo é melhor nos dados de treino do que nos dados de teste (embora às vezes o conjunto de teste “dê sorte”). Uma leve diferença de desempenho é aceitável; se o desempenho no treino for significativamente melhor, há um problema.
Os data frames mpg_train e mpg_test, e o modelo mpg_model já foram pré-carregados, assim como as funções rmse() e r_squared().
Este exercício faz parte do curso
Aprendizado Supervisionado em R: Regressão
Instruções do exercício
- Preveja a eficiência de combustível na cidade a partir de
hwynos dadosmpg_train. Atribua as previsões à colunapred. - Preveja a eficiência de combustível na cidade a partir de
hwynos dadosmpg_test. Atribua as previsões à colunapred. - Use
rmse()para avaliar o RMSE tanto no conjunto de teste quanto no de treino. Compare. Os desempenhos são semelhantes? - Faça o mesmo com
r_squared(). Os desempenhos são semelhantes? - Use
ggplot2para plotar as previsões contractynos dados detest.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()