НачатьНачать бесплатно

Оценка модели с использованием разбивки на обучающую и тестовую выборки

Теперь вы протестируете модель mpg_model на тестовых данных mpg_test. Для удобства заранее подготовлены функции rmse() и r_squared(), вычисляющие RMSE и R-квадрат:

rmse(predcol, ycol)
r_squared(predcol, ycol)

где:

  • predcol: прогнозируемые значения
  • ycol: фактические значения целевой переменной

Вы также построите график зависимости прогнозов от фактических значений.

Как правило, качество модели на обучающих данных выше, чем на тестовых (хотя иногда тестовая выборка «везёт»). Небольшое расхождение в показателях допустимо; если же качество на обучающей выборке значительно лучше — это повод насторожиться.

Фреймы данных mpg_train и mpg_test, модель mpg_model, а также функции rmse() и r_squared() уже загружены.

Это упражнение является частью курса

Обучение с учителем в R: регрессия

Посмотреть курс

Инструкции к упражнению

  • Спрогнозируйте расход топлива в городском цикле по переменной hwy на данных mpg_train. Запишите прогнозы в столбец pred.
  • Спрогнозируйте расход топлива в городском цикле по переменной hwy на данных mpg_test. Запишите прогнозы в столбец pred.
  • Используйте функцию rmse(), чтобы вычислить RMSE для тестовой и обучающей выборок. Сравните результаты. Похожи ли показатели качества?
  • Повторите то же самое с функцией r_squared(). Похожи ли показатели качества?
  • С помощью ggplot2 постройте график зависимости прогнозов от cty на тестовых данных.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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()
Редактировать и запускать код