R减少glmnet中x变量之一的权重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R减少glmnet中x变量之一的权重相关的知识,希望对你有一定的参考价值。

我可以使用glmnet创建模型。但是,如果我事先知道一个变量的贡献很弱(例如x [,1]),如何减少它在glmnet函数中的贡献?

library(glmnet)

x=matrix(rnorm(100*20),100,20)
y=rnorm(100)
fit1=glmnet(x,y)
print(fit1)
coef(fit1,s=0.01) # extract coefficients at a single value of lambda
predict(fit1,newx=x[1:10,],s=c(0.01,0.005)) # make predictions

谢谢您的帮助。

答案

为什么不将其删除?我认为您无法减少一个变量的“贡献”。该变量使您的预测变得混乱。将自变量添加到模型后,无论如何,都会增加。如果该变量与因变量没有任何关系(这取决于您的情况),则将较小的“贡献”添加到R²中。如果dependent(x)和dependent(y)确实有关系,则可以实现更大的R²数量,这意味着您可以更好地用x解释y。

以上是关于R减少glmnet中x变量之一的权重的主要内容,如果未能解决你的问题,请参考以下文章

变量的顺序改变了 glmnet 中的估计系数

变量选择——lassoSCADMCP的实现(R语言)

变量选择——lassoSCADMCP的实现(R语言)

为什么从glmnet模型中获取回归系数的统计汇总信息是不可取的?

R caret train glmnet 最终模型 lambda 值与指定不符

WOE(证据权重)为何这样计算?