Kom igångKom igång gratis

Korsvalidering

Korsvalidering är en smart metod för att undvika överanpassning, som du just har sett. I den här övningen ska du beräkna den korsvaliderade noggrannheten.

Data defaultData och modellen finns redan tillgängliga. Noggrannhetsfunktionen hittar du i de första raderna i koden – det är din kostnadsfunktion. Lämna den som den är och använd den i ditt anrop till cv.glm() nedan. Testa!

Den här övningen är en del av kursen

Maskininlärning för marknadsanalys i R

Visa kurs

Övningsinstruktioner

  • Använd 6-faldig korsvalidering och beräkna noggrannheten för modellen logitModelNew. Funktionen du behöver är cv.glm() från paketet boot. Den korsvaliderade noggrannheten lagras i den första positionen i elementet delta i resultatet.

  • Jämför noggrannheten från korsvalideringen med den från in-sample-valideringen. Den var 0.7922901.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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]
Redigera och kör kod