【问题标题】:R glmnet family = binomial predict values outside of 0-1R glmnet family = 0-1 之外的二项式预测值
【发布时间】:2012-06-12 17:03:43
【问题描述】:

我正在尝试在 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 范围内。

我在这里误解了什么吗?

谁能推荐一个易于使用的正则逻辑回归包?

谢谢。

【问题讨论】:

    标签: r regression glmnet regularized


    【解决方案1】:

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

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

    【讨论】:

    • 做到了。非常感谢!
    • s 是什么? ?predict.glm中没有提到
    • 废话,我从上面复制过来的,重点是type="response"。谢谢指点!我假设这被解释为 se.fit=TRUE 通过使用部分匹配进行预测。
    • @jabberwocky,这是指?predict.glmnet,而不是?predict.glms 指的是 glmnet-model 的 lambda 参数。
    猜你喜欢
    • 2013-10-20
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    相关资源
    最近更新 更多