首页 > 解决方案 > 如何在 h2o 中使用决策树算法?

问题描述

我正在尝试使用 h2o 来训练决策树模型。我知道 h2o 中没有特定的决策树库。

这是我在 h2o 中使用 GBM 算法时的代码,但我可以像这样使用决策树。因为 h2o 中没有决策树代码。

GBMParametersV3 gbmParams = new GBMParametersV3();
gbmParams.trainingFrame = H2oApi.stringToFrameKey("train");
gbmParams.validationFrame = H2oApi.stringToFrameKey("test");

ColSpecifierV3 responseColumn = new ColSpecifierV3();
responseColumn.columnName = ATT_LABLE_IRIS;
gbmParams.responseColumn = responseColumn;

GBMV3 gbmBody = h2o.train_gbm(gbmParams);
...

那么,如何在 h2o 中使用决策树算法?

标签: decision-treeh2o

解决方案


基于PUBDEV-4324 - 将决策树作为 H2O 中的独立算法公开,最直接的方法是使用 GBM:

titanic_1tree = h2o.gbm(x = predictors, y = response, 
                        training_frame = titanicHex,
                        ntrees = 1, min_rows = 1, sample_rate = 1,            
                        col_sample_rate = 1,
                        max_depth = 5,
                        seed = 1)

max_depth = 5它在 Titanic 数据集上创建了一个最多 5 个深度分割 ( ) 的决策树(可在此处获得https://s3.amazonaws.com/h2o-public-test-data/smalldata/gbm_test/titanic.csv:)

从版本 3.22.0.1 (Xia) 开始,可以从 H2O 模型中提取树结构:

titanicH2oTree = h2o.getModelTree(model = titanic_1tree, tree_number = 1)

推荐阅读