R:glmnet:从列表中保存和使用 glmnet 模型
R: glmnet: saving and using glmnet models from a list
我可以使用 glmnet 制作许多不同的模型。
然后我将模型保存在一个列表中,这样我就可以在将来使用这个模型列表。
library(glmnet)
x1=matrix(rnorm(100*20),100,20)
y1=matrix(rnorm(100*3),100,3)
fit1m=glmnet(x1,y1,family="mgaussian")
x2=matrix(rnorm(100*20),100,20)
y2=matrix(rnorm(100*3),100,3)
fit2m=glmnet(x2,y2,family="mgaussian")
x3=matrix(rnorm(100*20),100,20)
y3=matrix(rnorm(100*3),100,3)
fit3m=glmnet(x3,y3,family="mgaussian")
listmodels <-list(fit1m,fit2m,fit3m)
listmodels
然而,当我尝试从该列表中检索模型时,出现 class 错误
fit1 <- listmodels[1]
fit1
xnew=matrix(rnorm(100*20),100,20)
pred1 <- as.data.frame(predict(fit1,newx=xnew),s="lambda.min")
pred1
我需要做什么才能使列表中的模型正常工作?
感谢您的帮助。
如果我们正确提取list
元素,它将起作用,即'listmodels[1]'仍然是一个list
,我们需要使用'listmodels[[1]]'来提取元素
fit1 <- listmodels[[1]]
xnew=matrix(rnorm(100*20),100,20)
pred1 <- as.data.frame(predict(fit1,newx=xnew),s="lambda.min")
pred1
如果我们想对所有 list
元素执行此操作,我们可以遍历 list
(lapply
) 并执行相同的过程
lapply(listmodels, function(x) as.data.frame(predict(x,
newx = matrix(rnorm(100*20), 100, 20)), s = "lambda.min"))
我可以使用 glmnet 制作许多不同的模型。 然后我将模型保存在一个列表中,这样我就可以在将来使用这个模型列表。
library(glmnet)
x1=matrix(rnorm(100*20),100,20)
y1=matrix(rnorm(100*3),100,3)
fit1m=glmnet(x1,y1,family="mgaussian")
x2=matrix(rnorm(100*20),100,20)
y2=matrix(rnorm(100*3),100,3)
fit2m=glmnet(x2,y2,family="mgaussian")
x3=matrix(rnorm(100*20),100,20)
y3=matrix(rnorm(100*3),100,3)
fit3m=glmnet(x3,y3,family="mgaussian")
listmodels <-list(fit1m,fit2m,fit3m)
listmodels
然而,当我尝试从该列表中检索模型时,出现 class 错误
fit1 <- listmodels[1]
fit1
xnew=matrix(rnorm(100*20),100,20)
pred1 <- as.data.frame(predict(fit1,newx=xnew),s="lambda.min")
pred1
我需要做什么才能使列表中的模型正常工作? 感谢您的帮助。
如果我们正确提取list
元素,它将起作用,即'listmodels[1]'仍然是一个list
,我们需要使用'listmodels[[1]]'来提取元素
fit1 <- listmodels[[1]]
xnew=matrix(rnorm(100*20),100,20)
pred1 <- as.data.frame(predict(fit1,newx=xnew),s="lambda.min")
pred1
如果我们想对所有 list
元素执行此操作,我们可以遍历 list
(lapply
) 并执行相同的过程
lapply(listmodels, function(x) as.data.frame(predict(x,
newx = matrix(rnorm(100*20), 100, 20)), s = "lambda.min"))