Bir grup olayın sonuç üzerinde yarattığı potansiyel etkiyi gösterecek bir proje üzerinde çalışıyorum. Özellikle Poisson özelliğini kullanarak glmnet() paketini kullanıyorum.R içinde glmnet() ve cv.glmnet() arasındaki fark?
# 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)), ]
başlangıç SQL benim veritabanından veri büyük miktarda ithal: İşte benim kod. Sonra matris formatına koyarım ve cevabı tahmin edicilerden ayırdım.
Burası şaşkınım: glmnet() işlevi ve cv.glmnet() işlevi arasındaki farkın tam olarak ne olduğunu anlayamıyorum. Cv.glmnet() işlevinin glmnet() 'in k katlama çapraz doğrulaması olduğunu anlıyorum, ancak pratik açıdan tam olarak ne anlama geliyor? Onlar lambda için aynı değeri veriyorlar, ama ikisinin arasındaki fark hakkında önemli bir şeyi kaçırmadığımdan emin olmak istiyorum.
Ayrıca, alfa = 1 (varsayılan olarak varsayılan) belirttiğimde neden iyi çalıştığını da belirsiz değilim, ama dışarı çıksam da değil mi?
Şimdiden teşekkürler!
'plot (reg)' a bakmayı deneyin. – Roland
** Hiçbir zaman glmnet'in varsayılan lambda dizisine güvenmeyin! ** Kötü bir konu. Her zaman kendi sıranızı sağlayın. Daha sonra uygun lambda değerini "fit $ lambda.min" 'den alıp, 'predik()', 'coef()' vb. Tüm çağrılarda 's = lambda.min' parametresiyle birlikte kullanın. – smci
@smci neden olmasın lambda.1se kullanarak? Tam olarak bu bir tahmin() – Tonja