我试图在 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 范围内。
我在这里误解了什么吗?
任何人都可以推荐一个易于使用的正则化逻辑回归包吗?
谢谢。