如何在 h2o.glm 中指定交互?
How do I specify an interaction in h2o.glm?
背景:
在 R 中,使用线性模型,我可以写一个公式
est <- lm(Y~1+A+B+C+D:A+E:D+E:F+B:A+B:D+C:A+C:D+C:B, data=mydata)
如果"Y"恰好是二项式,那我也可以这样写:
est <- glm(Y~1+A+B+C+D:A+E:D+E:F+B:A+B:D+C:A+C:D+C:B, data=mydata, family = binomial)
但是...
当我去h2o.glm时,我必须使用"x=.., y=.."形式。
my_glm.hex <- h2o.glm(y=y_idx,x=x_idx,
training_frame = "my_train",
validation_frame = "my_valid",
model_id = "my_glm.hex",
family = "binomial",
lambda_search = TRUE,
balance_classes = TRUE)
问题:
如何添加一个公式,使我能够使用 h2o.glm?
拟合具有交互作用的广义线性模型 (glm)
附录:
我不确定这里应该使用 'r'、'h2o' 和 'fitting' 之外的哪些标签。如果您想到相关的内容,能否在评论中提出建议?
对于 h2o.glm,您只需添加一个 interactions
参数,它采用 x
中您要包含其交互的属性列表的形式。在您的情况下,它可能看起来像:
# supposing x contains variables A, B, C, etc.
interacting_variables <- c('B', 'D', 'E', 'F')
my_glm.hex <- h2o.glm(y=y_idx,x=x_idx,
training_frame = "my_train",
validation_frame = "my_valid",
model_id = "my_glm.hex",
family = "binomial",
lambda_search = TRUE,
balance_classes = TRUE,
interactions = interacting_variables)
对于上面的列表,将计算四个变量的所有成对组合。
您可以在 h2o site 上找到更多信息。
背景:
在 R 中,使用线性模型,我可以写一个公式
est <- lm(Y~1+A+B+C+D:A+E:D+E:F+B:A+B:D+C:A+C:D+C:B, data=mydata)
如果"Y"恰好是二项式,那我也可以这样写:
est <- glm(Y~1+A+B+C+D:A+E:D+E:F+B:A+B:D+C:A+C:D+C:B, data=mydata, family = binomial)
但是... 当我去h2o.glm时,我必须使用"x=.., y=.."形式。
my_glm.hex <- h2o.glm(y=y_idx,x=x_idx,
training_frame = "my_train",
validation_frame = "my_valid",
model_id = "my_glm.hex",
family = "binomial",
lambda_search = TRUE,
balance_classes = TRUE)
问题:
如何添加一个公式,使我能够使用 h2o.glm?
附录:
我不确定这里应该使用 'r'、'h2o' 和 'fitting' 之外的哪些标签。如果您想到相关的内容,能否在评论中提出建议?
对于 h2o.glm,您只需添加一个 interactions
参数,它采用 x
中您要包含其交互的属性列表的形式。在您的情况下,它可能看起来像:
# supposing x contains variables A, B, C, etc.
interacting_variables <- c('B', 'D', 'E', 'F')
my_glm.hex <- h2o.glm(y=y_idx,x=x_idx,
training_frame = "my_train",
validation_frame = "my_valid",
model_id = "my_glm.hex",
family = "binomial",
lambda_search = TRUE,
balance_classes = TRUE,
interactions = interacting_variables)
对于上面的列表,将计算四个变量的所有成对组合。
您可以在 h2o site 上找到更多信息。