h2o.partialplot中的user_splits选项

时间:2019-09-11 20:06:12

标签: h2o

我正在尝试为H2o的部分依赖图指定用户分割点,但是我不知道如何为此编写代码。

文档说:

  

一个两级嵌套列表,其中包含用户定义的每列pdp图的分割点。如果有两列使用用户定义的分割点,则嵌套列表中应有两个列表。在每个列表中,第一个元素是列名,后跟用户定义的值。

我尝试在github上寻找用户测试,但找不到任何东西。

h2o.partialPlot(data
     , cols = "change"
     , user_splits = list(list("change"), list(0,.01,.02))
     , object = h2o.getModel("gbm_model")
     , plot = FALSE)


我收到以下错误:

[.H2OFrame(数据,csname)中的错误:必须选择行作为整数索引,字符,逻辑或H2OFrame,但必须获得列表

如果我删除了user_splits代码行,我不会出错。

1 个答案:

答案 0 :(得分:0)

changesplit <- c(0,.01,.02)
usersplit <- list(c("change", changesplit))
h2o.partialPlot(data
     , cols = "change"
     , user_splits = usersplit 
     , object = h2o.getModel("gbm_model")
     , plot = FALSE)

我不知道为什么这样。该文档不是特别有用。 因为

changesplit <- c(0,.01,.02)
is.list(changesplit)
[1] FALSE

is.list(c("change", changesplit))
[1] FALSE

如果您想要其他变量和拆分

usersplit <- list(
   c("change", changesplit)
   , c("x", seq(1:10,by = 1))
)