【问题标题】:using lambda.min to extrace coefficients from model trained with glmnet使用 lambda.min 从使用 glmnet 训练的模型中提取系数
【发布时间】:2017-06-07 22:20:08
【问题描述】:

我正在使用glmnet 来训练逻辑回归模型,然后尝试获取具有特定lambda 的系数。我在这里使用了一个简单的例子:

load("BinomialExample.RData")

fit = glmnet(x, y, family = "binomial")
coef(fit, s = c(0.05,0.01))

我检查了fit$lambda 的值,但是在fit$lambda 中找不到0.05 或0.01 的具体值。那么coef 怎么可能返回lambda 不在fit$lambda 向量中的系数。

【问题讨论】:

  • 关于在统计计算平台中编程、调试或执行常规操作的问题在此处off-topic
  • 你不能。如果您确实需要这样做,请考虑在 lambda 的下一个最大值和下一个最小值之间进行线性插值。

标签: r glmnet


【解决方案1】:

这在coef.glmnet 的帮助中进行了解释,特别是exact 参数:

exact

仅当在 s (lambda) 值与原始模型拟合中使用的值不同时做出预测时,此论点才有意义。如果exact=FALSE(默认),则预测函数使用线性插值对与拟合算法中使用的值不一致的 s (lambda) 值进行预测。虽然这通常是一个很好的近似值,但有时可能有点粗糙。使用exact=TRUE,这些不同的 s 值与object$lambda 合并(并排序),并在进行预测之前重新拟合模型。

【讨论】:

    猜你喜欢
    • 2017-08-19
    • 1970-01-01
    • 2020-06-22
    • 2018-10-23
    • 2020-07-09
    • 2017-06-17
    • 2020-01-21
    • 1970-01-01
    • 2019-08-03
    相关资源
    最近更新 更多