1. Learn
  2. /
  3. Курси
  4. /
  5. Кероване навчання в R: регресія

Connected

Вправа

Оцініть процедуру моделювання за допомогою n-фолдної крос-валідації

У цій вправі ви використаєте splitPlan, 3-фолдний план крос-валідації з попередньої вправи, щоб отримати передбачення з моделі, яка прогнозує mpg$cty за mpg$hwy.

Якщо dframe — це тренувальні дані, один зі способів додати до датафрейму стовпчик з крос-валідаційними передбаченнями такий:

# Ініціалізуйте стовпчик потрібної довжини
dframe$pred.cv <- 0 

# k — кількість фолдів
# splitPlan — план крос-валідації

for(i in 1:k) {
  # Отримайте i-й спліт
  split <- splitPlan[[i]]

  # Побудуйте модель на тренувальних даних 
  # з цього спліту 
  # (у цьому випадку lm)
  model <- lm(fmla, data = dframe[split$train,])

  # зробіть передбачення на 
  # застосовних даних з цього спліту
  dframe$pred.cv[split$app] <- predict(model, newdata = dframe[split$app,])
}

Крос-валідація оцінює, наскільки добре модель, побудована на всіх даних, працюватиме на нових даних. Як і у випадку з поділом на train/test, для якісної процедури моделювання результати крос-валідації та навчальні результати мають бути близькими.

Датафрейм mpg, план крос-валідації splitPlan і функцію rmse() уже завантажено.

Інструкції

100 XP
  • Запустіть 3-фолдний план крос-валідації з splitPlan і розмістіть передбачення у стовпчику mpg$pred.cv.
    • Використайте lm() і формулу cty ~ hwy.
  • Створіть лінійну регресійну модель на всіх даних mpg (формула cty ~ hwy) і запишіть передбачення в mpg$pred.
  • Використайте rmse() для обчислення кореня середньоквадратичної помилки для передбачень повної моделі (mpg$pred). Згадайте, що rmse() приймає два аргументи: передбачені значення та фактичний результат.
  • Обчисліть корінь середньоквадратичної помилки крос-валідаційних передбачень. Чи приблизно однакові ці два значення?