使用 tidymodels 的 GLM 系列
GLM Family using tidymodels
我正在尝试将 tidymodels
包用于 GLM,并希望使用 Gamma 或 Poisson 分布。
使用 glm
我会使用类似下面的东西
# using glm
mdl <- glm(data = data, y ~ x, family = Gamma(link = "inverse"))
mdl <- glm(data = data, y ~ x, family = poisson(link = "log"))
# using glmnet
library(glmnet)
mdl <- glmnet(data$x, data$y, family = Gamma(link = "inverse"))
mdl <- glmnet(data$x, data$y, family = poisson(link = "log"))
如何使用 tidymodels
实现同样的效果?请注意,我正在尝试进行回归而不是我可以使用 parsnip::logistic_reg()
.
的分类(逻辑回归)
我在 Generalized Linear Models 上找到一篇关于 tidymodels 的文章,它属于 embed
包,但没有说明如何指定家族。
我希望有类似的东西(这不起作用,因为 linear_reg
没有参数 family
或 link
,set_engine
也不支持 glm
线性回归模式)
mdl <- linear_reg(mode = "regression", family = "gamma", link = "inverse") %>% set_engine("glm") # or glmnet
这比预期的要容易:
mdl <- linear_reg(mode = "regression") %>%
set_engine("glmnet", family = "gamma")
# or
mdl <- linear_reg(mode = "regression") %>%
set_engine("glmnet", family = Gamma(link = "inverse"))
我正在尝试将 tidymodels
包用于 GLM,并希望使用 Gamma 或 Poisson 分布。
使用 glm
我会使用类似下面的东西
# using glm
mdl <- glm(data = data, y ~ x, family = Gamma(link = "inverse"))
mdl <- glm(data = data, y ~ x, family = poisson(link = "log"))
# using glmnet
library(glmnet)
mdl <- glmnet(data$x, data$y, family = Gamma(link = "inverse"))
mdl <- glmnet(data$x, data$y, family = poisson(link = "log"))
如何使用 tidymodels
实现同样的效果?请注意,我正在尝试进行回归而不是我可以使用 parsnip::logistic_reg()
.
我在 Generalized Linear Models 上找到一篇关于 tidymodels 的文章,它属于 embed
包,但没有说明如何指定家族。
我希望有类似的东西(这不起作用,因为 linear_reg
没有参数 family
或 link
,set_engine
也不支持 glm
线性回归模式)
mdl <- linear_reg(mode = "regression", family = "gamma", link = "inverse") %>% set_engine("glm") # or glmnet
这比预期的要容易:
mdl <- linear_reg(mode = "regression") %>%
set_engine("glmnet", family = "gamma")
# or
mdl <- linear_reg(mode = "regression") %>%
set_engine("glmnet", family = Gamma(link = "inverse"))