【问题标题】:How can I get a single tree from an H2O Random Forest?如何从 H2O 随机森林中获得一棵树?
【发布时间】:2020-02-28 02:54:28
【问题描述】:

我正在用下一个代码做一个随机森林:

rf_md <- h2o.randomForest(training_frame = train_h,
                          nfolds = 5,
                          y = y,
                          ntrees = 500,
                          stopping_rounds = 10,
                          stopping_metric = "RMSE",
                          score_each_iteration = TRUE,
                          stopping_tolerance = 0.0001,
                          seed = 1234)

输出是一个类型为:h2oregressionmodel 的对象。我想从森林中得到一棵树,所以我发现函数getTree()randomForest 对象配合得很好。如何将我的实际输出转换为 randomForest 对象?或者我可以使用不同的函数获得相同的随机森林,其输出是randomForest 对象吗?

感谢您的帮助

【问题讨论】:

    标签: r machine-learning random-forest h2o


    【解决方案1】:

    H2O 带有类似的功能,h2o.getModelTree,可用于 GBM 和随机森林模型(参见 docs);在您的情况下,例如选择树 #3,它应该是:

    tree <- h2o.getModelTree(model=rf_md, tree_number=3)
    

    【讨论】:

      【解决方案2】:

      在上面的示例中,rf_md H2O-3 DRF(分布式随机森林)对象。 (或者,更具体地说,指向它的指针。真实对象存在于 h2o.init() 的 H2O-3 java 进程的内存中)

      H2O-3 模型对象不同于原生 R 包对象。无法将 H2O-3 DRF 模型转换为 R randomForest 模型。

      【讨论】:

        猜你喜欢
        • 2019-02-04
        • 2017-12-04
        • 1970-01-01
        • 2018-05-23
        • 1970-01-01
        • 2017-12-24
        • 2018-07-12
        • 2014-05-05
        • 2013-10-26
        相关资源
        最近更新 更多