ComeçarComece de graça

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

Ver curso

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 SDMTools não pode mais ser baixado do CRAN. No seu computador pessoal, instale-o via remotes::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
Editar e executar o código