首页 > 解决方案 > 减少 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

解决方案


为什么不删除它?我认为您不能减少一个变量的“贡献”。该变量会对您的预测产生影响。当一个自变量添加到模型中时,无论如何都会增加。如果该变量与因变量没有任何关系(这是您的情况),则将较少量的“贡献”添加到 R²。如果dependent(x) 和 Independent(y) 确实存在关系,则可以实现更大的 R²,这意味着您可以更好地用 x 解释 y。


推荐阅读