首页 文章

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

提问于
浏览
0

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

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

非常感谢,

1 回答

  • 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成对交互可以通过将列索引传递给interact参数来指定

    # 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)
    

相关问题