• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何从R中的glmnet获取coefs名称?

r 来源:John Hass 17次浏览

我与glmnet做套索在R.我有套索coefs out$beta如何从R中的glmnet获取coefs名称?

输入:

x1 0.5744207722 
x2 -0.3575682570 
x3 -0.0995794334 

我怎样才能提取变量的名字吗?

所需的输出: x1, x2,x3

我试过

  1. $
  2. as.data.frame
  3. as.matrix

但他们没有转换coefs分成n行2列矩阵。他们仍然是一个载体,x1 0.5744207722

我不能手动完成。我有超过1000个变量和更多模型可以运行。我不会把它写在我的磁盘上,然后再读回来。


===========解决方案如下:

根据您上面的输入,您似乎指定了带有单个lambda值的glmnet调用。

在这种特殊情况下,您可以提取像这样的系数的名称:names(out$beta[, 1][out$beta[, 1] != 0])。请注意,仅提取非零beta的名称,这在Lasso执行特征缩减时在此处应用Lasso时很有意义。

最小重复的例子是这样的: out <- glmnet(as.matrix(mtcars[-1]), mtcars[["mpg"]], lambda = 1)


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)