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

Кросс-валидация

Кросс-валидация — эффективный способ избежать переобучения, как вы уже могли убедиться. В этом упражнении вы вычислите точность модели с помощью кросс-валидации.

Всё необходимое уже готово: набор данных defaultData и модель загружены. Функцию точности вы найдёте в первых строках кода — это ваша функция потерь. Оставьте её как есть и используйте при вызове cv.glm() ниже. Попробуйте!

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

Машинное обучение для маркетинговой аналитики на R

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

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

  • Выполните 6-блочную кросс-валидацию и вычислите точность для модели logitModelNew. Используйте функцию cv.glm() из пакета boot. Точность по результатам кросс-валидации хранится в первом элементе поля delta возвращаемого объекта.

  • Сравните точность, полученную при кросс-валидации, с точностью при обучении на всей выборке. Напомним, она составляла 0.7922901.

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

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

library(boot)
# Accuracy function
costAcc <- function(r, pi = 0) {
  cm <- confusion.matrix(r, pi, threshold = 0.3)
  acc <- sum(diag(cm)) / sum(cm)
  return(acc)
}

# Cross validated accuracy for logitModelNew
set.seed(534381)
cv.glm(___, ___, cost = ___, K = ___)$delta[1]
Редактировать и запускать код