【发布时间】:2018-03-07 15:48:57
【问题描述】:
通过运行命令,
m <- h2o.getModel("depth_grid_model_4")
h2o.varimp(m)
我能够查看模型的性能以及变量的重要性。
如何查看 GBM 模型的每棵树中使用的拆分?
谢谢
【问题讨论】:
-
如果它解决了您的问题,请接受以下答案。谢谢!
通过运行命令,
m <- h2o.getModel("depth_grid_model_4")
h2o.varimp(m)
我能够查看模型的性能以及变量的重要性。
如何查看 GBM 模型的每棵树中使用的拆分?
谢谢
【问题讨论】:
您可以使用h2o.download_pojo() 将模型导出为 POJO,然后查看文件中每棵树的完整详细信息。
【讨论】:
有一个工具可以为 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
【讨论】:
在 3.22.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
【讨论】: