我想通过h2o glm中的分类变量水平来估计预测变量的系数。例如,如果我的数据框具有产品价格(连续变量)和产品类型(分类变量),那么我想估算产品价格系数。在SAS中,您可以通过将模型效果指定为价格*类型来轻松完成此操作。我怎样才能在h2o或R中做同样的事情?
有一个interaction()函数,但它无法处理连续变量和分类变量之间的交互。有什么提示可以解决这个问题吗?
非常感谢,
答案 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)