Как я могу использовать алгоритм дерева решений в H2O? - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь обучить модель дерева решений с помощью H2O. Мне известно, что в h2o нет специальной библиотеки для деревьев решений.

Это код, когда я использую алгоритм GBM в H2O, но я могу использовать Decision Tree следующим образом. Потому что в 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?

1 Ответ

0 голосов
/ 03 декабря 2018

Основано на 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)

, который создает дерево решений максимум 5 сплитов (max_depth = 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)
...