带有模型矩阵输入的惩罚因子

问题描述 投票:0回答:1

我正在尝试使用glmnet拟合模型。对于数据输入,我正在使用模型公式将数据转换为sparse.model.matrix格式。我正在尝试取消规范化我希望包含作为控件的变量之一,但是我无法使刑罚参数起作用!首先,我不确定向量需要多长时间,模型矩阵的原始变量的每个级别都有列,我是否需要为每个级别指定一个刑罚系数?我相信我都尝试过,较长的惩罚向量似乎什么都不做,而较短的惩罚向量会导致收敛误差。代码设置如下:

    X <- sparse.model.matrix(model.formula, data)
   fit <- glmnet::cv.glmnet(X, y, family = "poisson", type.multinomial = "ungrouped" , penalty.factor = reg.weights)
r glmnet
1个回答
0
投票

是的,您在正确的轨道上。 penalty.factor应该是与稀疏模型矩阵中的列长度相同的向量。在下面的示例中,它的长度应为8。

dim(X) 
[1] 32  8

[如果您遇到收敛性问题,那么不幸的是,这是一个单独的问题,不一定与惩罚因素有关。

© www.soinside.com 2019 - 2024. All rights reserved.