来自 H2O 的分类树图 Mojo/Pojo

Classification Tree Diagram from H2O Mojo/Pojo

这个问题在很大程度上借鉴了 的解决方案作为起点。 鉴于我可以使用 R 生成 mojo 模型对象:

library(h2o)
h2o.init()
airlinedf <- h2o.importFile("http://s3.amazonaws.com/h2o-public-test-data/smalldata/airlines/allyears2k_headers.zip")
airlinemodel <- h2o.gbm(model_id = "airlinemodel",
                training_frame = airlinedf,
                x = c("Year", "Month", "DayofMonth", "DayOfWeek", "UniqueCarrier"),
                y = "IsDepDelayed",
                max_depth = 3,
                ntrees = 5)
h2o.download_mojo(airlinemodel, getwd(), FALSE)

并 bash/graphviz 生成该模型的树状图:

java -cp h2o.jar hex.genmodel.tools.PrintMojo --tree 0 -i airlinemodel.zip -o airlinemodel.gv
dot -Tpng airlinemodel.gv -o airlinemodel.png

我的问题有三个:

  1. 如何解释此可视化中的值和决策以及终端节点处的值?第二层的 NA 是什么?如果终端节点中的值是"class probabilities",它们怎么可能是负数?

    1. 有没有办法可视化或概念化模型中所有树的 "summary tree"?

    2. 如何生成图表以使用颜色或形状来指示结束节点中项目的二元分类分配?

有一种使用 H2O 构建决策树的更好方法 - 无需提取 MOJO 或离开 R/Python - 使用新树 API(从 3.22.0.1 开始)。有关全面的解释,请参阅:

  1. Inspecting Decision Trees with H2O
  2. Finally, You can Plot H2O Decision Trees in R