使用h2实现决策树

2024-04-28 17:42:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用h2o训练一个决策树模型,我知道在h2o中没有专门的决策树库,但是h2o实现了随机森林H2ORandomForestEstimator。我们可以通过调整随机森林的某些输入参数来实现h2o中的决策树吗?因为我们可以在scikit模块(一个流行的用于机器学习的python库)中做到这一点

参考链接:Why is Random Forest with a single tree much better than a Decision Tree classifier?

在scikit中,代码如下所示

RandomForestClassifier(n_estimators=1, max_features=None, bootstrap=False)

我们在水里有这个代码的等价物吗?在


Tags: 模块代码模型机器决策树参数is链接
2条回答

您可以使用H2O的随机林(H2ORandomForestEstimator),设置ntrees=1使其只构建一个树,将mtries设置为数据集中的特征数(即列)和sample_rate =1。将mtries设置为数据集中的特征数意味着算法将从决策树中每个级别的所有特征中随机抽取样本。在

以下是关于mtries的更多信息:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/mtries.html

为了补充Lauren的答案:基于PUBDEV-4324 - Expose Decision Tree as a stand-alone algo in H2O,DRF和GBM都可以在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模型中提取树结构:

^{pr2}$

相关问题 更多 >