树在H2o GBM模型中分裂

时间:2017-09-26 12:08:58

标签: r h2o gbm

通过运行命令,

m <- h2o.getModel("depth_grid_model_4")
h2o.varimp(m)

我能够查看模型的性能以及变量的重要性。

如何查看GBM模型的每个树中使用的拆分?

谢谢

3 个答案:

答案 0 :(得分:3)

有一种工具可以为H2O-3 MOJO模型创建可视化。请参阅此处的完整文档:

使用R创建和下载MOJO:

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

在命令行上运行PrintMojo工具(打包在h2o.jar中)以生成.png文件。您需要从http://www.h2o.ai/download/下载最新的稳定H2O-3版本,并从命令行运行PrintMojo工具。

# (For MacOS: brew install graphviz)
java -cp h2o.jar hex.genmodel.tools.PrintMojo --tree 0 -i model.zip -o model.gv
dot -Tpng model.gv -o model.png
open model.png

答案 1 :(得分:1)

3.2.2.0.1在H2O中添加了新的Tree API。它使您可以从H2O中的任何基于树的模型中将树提取到R / Python对象中(有关详细信息,请参见here):

tree <- h2o.getModelTree(model = airlines.model, tree_number = 1, tree_class = "NO")

在R中绘制h2o的树表示图以解释树:Finally, You Can Plot H2O Decision Trees in R

答案 2 :(得分:0)

您可以使用h2o.download_pojo()将模型导出为POJO,然后查看文件中每棵树的完整详细信息。