gpt4 book ai didi

r - 从 glmnet 中提取系数变量名称到 data.frame

转载 作者:行者123 更新时间:2023-12-03 09:07:30 31 4
gpt4 key购买 nike

我想提取 glmnet 生成的模型系数并从中创建 SQL 查询。函数coef(cv.glmnet.fit)产生一个 ' dgCMatrix ' 目的。当我使用 as.matrix 将其转换为矩阵时,变量名丢失,只留下系数值。

我知道可以在屏幕上打印系数,但是是否可以将名称写入数据框?

有人可以协助提取这些名称吗?

最佳答案

更新:
我的答案的前两条评论都是正确的。我将答案保留在线条下方,仅供后代使用。

以下答案很简短,它可以工作并且不需要任何其他包:

tmp_coeffs <- coef(cv.glmnet.fit, s = "lambda.min")
data.frame(name = tmp_coeffs@Dimnames[[1]][tmp_coeffs@i + 1], coefficient = tmp_coeffs@x)

+1 的原因是 @i拦截的方法索引从 0 开始,但 @Dimnames[[1]]从 1 开始。

旧答案:(仅供后代使用)试试这些行:

非零系数:
coef(cv.glmnet.fit, s = "lambda.min")[which(coef(cv.glmnet.fit, s = "lambda.min") != 0)]

选择的功能:
colnames(regression_data)[which(coef(cv.glmnet.fit, s = "lambda.min") != 0)]

然后将它们放在一起作为数据框是直截了当的,但是如果您也想要那部分代码,请告诉我。

关于r - 从 glmnet 中提取系数变量名称到 data.frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27801130/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com