मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जो घटनाओं के एक समूह के संभावित प्रभाव को संभावित प्रभाव दिखाएगा। मैं glmnet() पैकेज का उपयोग कर रहा हूं, विशेष रूप से पोइसन सुविधा का उपयोग कर रहा हूं। यहां मेरा कोड है:आर में glmnet() और cv.glmnet() के बीच अंतर?
# de <- data imported from sql connection
x <- model.matrix(~.,data = de[,2:7])
y <- (de[,1])
reg <- cv.glmnet(x,y, family = "poisson", alpha = 1)
reg1 <- glmnet(x,y, family = "poisson", alpha = 1)
**Co <- coef(?reg or reg1?,s=???)**
summ <- summary(Co)
c <- data.frame(Name= rownames(Co)[summ$i],
Lambda= summ$x)
c2 <- c[with(c, order(-Lambda)), ]
शुरुआत SQL में मेरे डेटाबेस से बड़ी मात्रा में डेटा आयात करती है। मैं इसे मैट्रिक्स प्रारूप में डालता हूं और भविष्यवाणियों से प्रतिक्रिया अलग करता हूं।
यह वह जगह है जहां मैं उलझन में हूं: मैं यह नहीं समझ सकता कि ग्लैमनेट() फ़ंक्शन और cv.glmnet() फ़ंक्शन के बीच अंतर क्या है। मुझे एहसास है कि cv.glmnet() फ़ंक्शन glmnet() का एक-गुना क्रॉस-सत्यापन है, लेकिन व्यावहारिक शर्तों में इसका क्या अर्थ है? वे लैम्ब्डा के लिए समान मूल्य प्रदान करते हैं, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मैं दोनों के बीच के अंतर के बारे में कुछ महत्वपूर्ण नहीं खो रहा हूं।
मैं यह भी अस्पष्ट हूं कि जब मैं अल्फा = 1 (माना जाता है कि डिफ़ॉल्ट) निर्दिष्ट करता हूं तो यह ठीक क्यों चलता है, लेकिन अगर मैं इसे छोड़ देता हूं?
अग्रिम धन्यवाद!
'प्लॉट (reg)' को देखने का प्रयास करें। – Roland
** कभी भी ग्लैमनेट के डिफ़ॉल्ट लैम्ब्डा अनुक्रम पर भरोसा न करें! ** कुख्यात मुद्दा। हमेशा अपना अनुक्रम प्रदान करें। फिर 'फिट $ lambda.min' से इष्टतम लैम्ब्डा मान प्राप्त करें और 'predict()',' coef() 'आदि के सभी कॉल में' s = lambda.min' पैरामीटर के साथ इसका उपयोग करें – smci
@smci क्यों नहीं lambda.1se का उपयोग कर? वास्तव में यह भविष्यवाणी द्वारा उपयोग किया जाता है() – Tonja