【问题标题】:Tree splits in a H2o GBM ModelH2o GBM 模型中的树分裂
【发布时间】:2018-03-07 15:48:57
【问题描述】:

通过运行命令,

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

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

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

谢谢

【问题讨论】:

  • 如果它解决了您的问题,请接受以下答案。谢谢!

标签: r h2o gbm


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    有一个工具可以为 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
    

    【讨论】:

    • 我在这里遇到了一些关于命令行的简单问题?我需要从哪个目录运行它?我当前的工作目录?还是特定的 h2o 文件夹?我收到以下消息:错误:无法找到或加载主类 hex.genmodel.tools.PrintMojo
    • "java -cp /path/to/your/h2o.jar"。你需要知道你的 h2o.jar 在哪里。它将位于安装 h2o 包的 R 或 Python 目录中,或者您可以从 h2oai.dow​​nload -> H2O 最新稳定版本 -> 下载 H2O 下载它。
    【解决方案3】:

    在 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

    【讨论】:

      猜你喜欢
      • 2021-05-26
      • 2018-01-21
      • 1970-01-01
      • 2021-06-22
      • 2021-02-18
      • 2020-03-18
      • 2020-06-15
      • 2017-05-22
      • 1970-01-01
      相关资源
      最近更新 更多