IniziaInizia gratis

Cross validation

Come hai visto, la cross validation è un metodo efficace per evitare l’overfitting. In questo esercizio calcolerai l’accuratezza con cross validation.

Puoi iniziare subito: i dati necessari defaultData e il modello sono già pronti. La funzione per l’accuratezza si trova nelle prime righe di codice: è la tua funzione di costo. Lasciala così com’è e usala nella chiamata a cv.glm() qui sotto. Prova tu!

Questo esercizio fa parte del corso

Machine Learning per il Marketing Analytics in R

Visualizza il corso

Istruzioni dell'esercizio

  • Usa una cross validation a 6 fold e calcola l’accuratezza per il modello logitModelNew. La funzione che ti serve è cv.glm() del pacchetto boot. L’accuratezza con cross validation è memorizzata nella prima posizione dell’elemento delta del risultato.

  • Confronta l’accuratezza ottenuta con la cross validation con quella dell’in-sample validation. Ricorda: era 0.7922901.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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]
Modifica ed esegui il codice