Avaliando o ajuste do modelo fora da amostra
Agora você sabe que faz mais sentido avaliar o ajuste do modelo fora da amostra do que dentro da amostra. Neste exercício, portanto, você vai criar uma medida de acurácia fora da amostra.
Antes disso, será preciso fazer algumas etapas de preparação. Use defaultData novamente. logitModelNew já está carregado no seu ambiente.
Lembre-se de que, para uma análise completa, você sempre deve comparar diferentes candidatos a modelo também (e especialmente) usando dados fora da amostra.
A acurácia dentro da amostra — usando o limiar ótimo de 0.3 — é 0.7922901.
Garanta que você entenda se há overfitting.
Este exercício faz parte do curso
Machine Learning for Marketing Analytics in R
Instruções do exercício
Primeiro, divida o conjunto de dados aleatoriamente em conjuntos de treino e teste. O conjunto de treino deve conter 2/3 dos dados totais.
Em seguida, rode rapidamente o modelo e chame-o de
logitTrainNew. Use a fórmula fornecida.Faça previsões no conjunto de teste e, depois, calcule a acurácia fora da amostra com a ajuda de uma matriz de confusão. Observe que
SDMToolsnão pode mais ser baixado do CRAN. No seu computador pessoal, instale-o viaremotes::install_version("SDMTools", "1.1-221.2").Compare a acurácia fora da amostra com o valor dentro da amostra informado acima.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Split data in train and test set
set.seed(534381)
defaultData$isTrain <- rbinom(nrow(defaultData), 1, 0.66)
train <- subset(defaultData, ___ == 1)
test <- subset(defaultData, ___ == 0)
logitTrainNew <- glm(formulaLogit, family = binomial, data = ___) # Modeling
test$predNew <- predict(logitTrainNew, type = "response", newdata = ___) # Predictions
# Out-of-sample confusion matrix and accuracy
confMatrixModelNew <- confusion.matrix(___, ___, threshold = 0.3)
sum(diag(confMatrixModelNew)) / sum(confMatrixModelNew) # Compare this value to the in-sample accuracy