我在二进制数据上运行以下弹性网络模型(1 = 坏,0 = 好)。有谁知道 glmnet 默认适合什么类型的模型:P(y=1) 或 P(y=0)。反正有没有选择前者来适应模型。
cv.glmnet(x, y, family="binomial", type.measure="deviance", standardize=FALSE, nfolds=5, alpha=par)
我在二进制数据上运行以下弹性网络模型(1 = 坏,0 = 好)。有谁知道 glmnet 默认适合什么类型的模型:P(y=1) 或 P(y=0)。反正有没有选择前者来适应模型。
cv.glmnet(x, y, family="binomial", type.measure="deviance", standardize=FALSE, nfolds=5, alpha=par)
glmnet 文档中包含您的答案(?predict.glmnet
在 R 中键入):
请注意,对于“二项式”模型,仅返回与因子响应的第二级对应的类的结果。
如果您描述的二进制数据被分配y
为一个简单的数字向量,那么模型将产生 P(y=1) 拟合。
> x <- matrix(rnorm(100*20),100,20) # create some sample input
> y <- as.factor(sample(0:1, 100, replace=TRUE))
> levels(y)
[1] "0" "1"
> py1_fit <- glmnet(x, y, family="binomial")
要反转并适应 P(y=0),您只需重新排序级别:
> y0 <- factor(y, levels=rev(levels(y)))
> levels(y0)
[1] "1" "0"
> py0_fit <- glmnet(x, y0, family="binomial")