如何从H2O随机森林中获得一棵树?

时间:2019-11-01 20:27:16

标签: r machine-learning random-forest h2o

我正在使用下面的代码创建一个随机森林:

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对象?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

在上面的示例中,rf_md H2O-3 DRF(分布式随机森林)对象。 (或者,更确切地说,是指向它的指针。真实对象通过h2o.init()驻留在H2O-3 Java进程的内存中)

H2O-3模型对象与本机R包对象不同。无法将H2O-3 DRF模型转换为R randomForest模型。