Validarea încrucișată
Validarea încrucișată este o metodă ingenioasă de a evita supraadaptarea (overfitting), după cum ai văzut. În acest exercițiu vei calcula acuratețea obținută prin validare încrucișată.
Poți începe direct – setul de date defaultData și modelul sunt deja pregătite. Funcția de acuratețe se află în primele rânduri de cod. Aceasta este funcția ta de cost. Las-o așa cum este și folosește-o în apelul la cv.glm() de mai jos. Încearcă!
Acest exercițiu face parte din cursul
Machine Learning pentru Analiză de Marketing în R
Instrucțiuni pentru exercițiu
Folosește o validare încrucișată cu 6 subseturi și calculează acuratețea pentru modelul
logitModelNew. Funcția de care ai nevoie estecv.glm()din pachetulboot. Acuratețea obținută prin validare încrucișată este stocată pe prima poziție a elementuluideltadin rezultat.Compară acuratețea obținută prin validare încrucișată cu cea obținută prin validarea pe datele de antrenament. Aceasta era
0.7922901.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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]