相关疑难解决方法(0)

R中的glmnet()和cv.glmnet()之间的区别?

我正在开展一个项目,展示一组事件对结果的潜在影响.我正在使用glmnet()包,特别是使用Poisson功能.这是我的代码:

# 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)), ]
Run Code Online (Sandbox Code Playgroud)

开始在SQL中从我的数据库导入大量数据.然后我把它放在矩阵格式中并将响应与预测变量分开.

这是我困惑的地方:我无法弄清楚glmnet()函数和cv.glmnet()函数之间的区别.我意识到cv.glmnet()函数是glmnet()的k-fold交叉验证,但实际上这究竟是什么意思呢?它们为lambda提供了相同的值,但我想确保我不会错过两者之间的重要区别.

当我指定alpha = 1(假设是默认值)时,我也不清楚它为什么运行正常,但如果我把它留下来的话就不行了?

提前致谢!

r classification glm glmnet cross-validation

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

classification ×1

cross-validation ×1

glm ×1

glmnet ×1

r ×1