通过分类变量水平估计h2o glm系数

时间:2016-12-07 21:05:21

标签: r glm h2o

我想通过h2o glm中的分类变量水平来估计预测变量的系数。例如,如果我的数据框具有产品价格(连续变量)和产品类型(分类变量),那么我想估算产品价格系数。在SAS中,您可以通过将模型效果指定为价格*类型来轻松完成此操作。我怎样才能在h2o或R中做同样的事情?

有一个interaction()函数,但它无法处理连续变量和分类变量之间的交互。有什么提示可以解决这个问题吗?

非常感谢,

1 个答案:

答案 0 :(得分:0)

set.seed(1234)
x1 = rnorm(100,0,1)
x2 = as.factor(rep(c("A","B","C","D"), each = 25))
y = as.factor(rep(0:1, each = 50))
data = data.frame(x1 = x1, x2 = x2, y = y)

可以使用公式参数

中的“:”指定交互
# glm base example
fit <- glm(data = data, y ~ x1 + x2 + x1:x2, family = "binomial")
print(fit)

使用h2o.glm成对交互可以通过将列索引传递给交互参数

来指定
# h2o.glm example
library("h2o")
h2o.init(nthreads = -1)
data.hex = as.h2o(data)
h2o_fit <- h2o.glm(x = 1:2, y = 3, training_frame = data.hex, family = "binomial", interactions = 1:2)
h2o_fit@model$coefficients_table
h2o.shutdown(prompt = F)