आउट-ऑफ-सैंपल मॉडल फिट का आकलन
अब आप जानते हैं कि इन-सैंपल फिट से ज्यादा समझदारी आउट-ऑफ-सैंपल मॉडल फिट को देखना है. इसलिए, इस अभ्यास में आप एक आउट-ऑफ-सैंपल एक्युरेसी माप निकालना चाहते हैं.
उससे पहले कुछ तैयारी करनी होगी. defaultData फिर से लें. logitModelNew आपके environment में पहले से लोड है.
ध्यान रखें कि पूरी विश्लेषण प्रक्रिया में अलग-अलग मॉडल विकल्पों की तुलना हमेशा (और खासकर) आउट-ऑफ-सैंपल डेटा पर करनी चाहिए.
इन-सैंपल एक्युरेसी — 0.3 के optimal threshold के साथ — 0.7922901 है.
सुनिश्चित करें कि आप समझें कि कहीं overfitting तो नहीं हो रहा है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Marketing Analytics के लिए Machine Learning
अभ्यास निर्देश
सबसे पहले, डेटासेट को रैंडम तरीके से training और test सेट में बाँटें. training सेट में कुल डेटा का 2/3 भाग होना चाहिए.
फिर, जल्दी से मॉडल चलाएँ और उसका नाम
logitTrainNewरखें. दी गई फॉर्मूला का उपयोग करें.test सेट पर प्रेडिक्शन करें और फिर confusion matrix की मदद से आउट-ऑफ-सैंपल एक्युरेसी निकालें. ध्यान दें कि
SDMToolsअब CRAN से डाउनलोड नहीं किया जा सकता. अपने पर्सनल कंप्यूटर पर इसेremotes::install_version("SDMTools", "1.1-221.2")के माध्यम से इंस्टॉल करें.ऊपर दी गई इन-सैंपल वैल्यू से आउट-ऑफ-सैंपल एक्युरेसी की तुलना करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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