R glmnet家族=二项式预测值在0-1之外

5
我正在尝试在R中找到一个正则化逻辑回归的包,它可以预测0-1之间的值。但是,我运用了lars包和glmnet包,都没有太大的成功。
下面是glmnet包参考手册示例中的代码,我不理解输出结果。
library(glmnet)

set.seed(1010)
n=1000;p=100
nzc=trunc(p/10)
x=matrix(rnorm(n*p),n,p)
beta=rnorm(nzc)
fx= x[,seq(nzc)] %*% beta
eps=rnorm(n)*5
y=drop(fx+eps)
px=exp(fx)
px=px/(1+px)
ly=rbinom(n=length(px),prob=px,size=1)
set.seed(1011)
cvob2=cv.glmnet(x,ly,family="binomial")
plot(cvob2) # had to add this comment to allow edit
coef(cvob2)
predict(cvob2,newx=x[1:5,], s="lambda.min")

             1
[1,] -1.721438
[2,]  0.914219
[3,]  1.111685
[4,]  1.805725
[5,] -4.200433

我不明白为什么输出值不在0-1范围内。

我是否有什么误解?

有没有人可以推荐一个易于使用的正则化逻辑回归包?

谢谢。

1个回答

12

查看predict.glmnet文档:默认情况下,它是type="link",即链接转换。

predict(cvob2,newx=x[1:5,],type="response", s="lambda.min")

s是什么?在?predict.glm中没有提到。 - Dr. Beeblebrox
这是胡说八道,我从上面抄的,关键是type="response"。感谢指点!我想这被predict解释为使用部分匹配的se.fit=TRUE。 - Dieter Menne
3
@jabberwocky,这是指 ?predict.glmnet,而不是 ?predict.glms 是指 glmnet 模型的 lambda 参数。 - Teemu Daniel Laajala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接