IniziaInizia gratis

Valutare l’aderenza del modello out-of-sample

Ora sai che ha più senso esaminare l’aderenza del modello out-of-sample rispetto a quella in-sample. In questo esercizio, dunque, vorrai definire una misura di accuratezza out-of-sample.

Prima, però, dovrai svolgere alcuni passaggi preparatori. Riprendi defaultData. logitModelNew è già caricato nel tuo ambiente.

Tieni presente che, per un’analisi completa, dovresti sempre confrontare diversi modelli candidati anche (e soprattutto) usando dati out-of-sample.

L’accuratezza in-sample — usando la soglia ottimale di 0.3 — è 0.7922901. Assicurati di capire se c’è overfitting.

Questo esercizio fa parte del corso

Machine Learning per il Marketing Analytics in R

Visualizza il corso

Istruzioni dell'esercizio

  • Per prima cosa, suddividi casualmente l’insieme di dati in training e test set. Il training set deve contenere 2/3 dei dati complessivi.

  • Poi, esegui rapidamente il modello e chiamalo logitTrainNew. Usa la formula fornita.

  • Fai le previsioni sul test set e quindi calcola l’accuratezza out-of-sample con l’aiuto di una matrice di confusione. Nota che SDMTools non è più scaricabile da CRAN. Sul tuo computer personale installalo invece tramite remotes::install_version("SDMTools", "1.1-221.2").

  • Confronta l’accuratezza out-of-sample con il valore in-sample indicato sopra.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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