Cross validation
जैसा कि आपने देखा, क्रॉस-वैलिडेशन overfitting से बचने का एक स्मार्ट तरीका है. इस अभ्यास में आप cross-validated accuracy निकालेंगे.
आप सीधे शुरू कर सकते हैं — ज़रूरी डेटा defaultData और मॉडल उपलब्ध हैं. Accuracy फंक्शन आपको कोड की शुरुआती कुछ लाइनों में मिलेगा. यही आपका cost function है. इसे जैसा है वैसा ही रहने दें और नीचे cv.glm() कॉल में इस्तेमाल करें. ट्राय कीजिए!
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Marketing Analytics के लिए Machine Learning
अभ्यास निर्देश
6-fold क्रॉस-वैलिडेशन का उपयोग करके मॉडल
logitModelNewके लिए accuracy निकालें. जिस फंक्शन की आपको ज़रूरत है, वहbootपैकेज काcv.glm()है. Cross-validated accuracy, रिज़ल्ट केdeltaएलिमेंट की पहली पोज़िशन में स्टोर होती है.क्रॉस-वैलिडेशन से मिली accuracy की तुलना in-sample वैलिडेशन वाली accuracy से करें. याद रखिए, वह
0.7922901थी.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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]