Cross validation
Cross validation is a clever method to avoid overfitting as you could see. In this exercise you are going to calculate the cross validated accuracy.
You can go right ahead, the necessary data defaultData
and model are waiting for you. You can find the accuracy function in the first few lines of code. This is your cost function. Just leave it as it is and use it for your call to cv.glm()
below. Try it out!
Este exercício faz parte do curso
Machine Learning for Marketing Analytics in R
Instruções do exercício
Use a 6-fold cross validation and calculate the accuracy for the model
logitModelNew
. The function you need iscv.glm()
of theboot
package. The cross validated accuracy is stored in the first position of thedelta
element of the result.Compare your accuracy of the cross validation to the one of the in-sample validation. Remember, it was
0.7922901
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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]