类别

版本

渐变增强树(水)

剧情简介

使用H2O 3.30.0.1执行GBT算法。

描述

请注意,此算法的结果可能取决于所使用的线程数。不同的设置可能导致输出略有不同。

梯度增强模型是回归模型或分类树模型的集合。两者都是前向学习集成方法,通过逐步改进的估计获得预测结果。增强是一种灵活的非线性回归过程,有助于提高树的精度。通过将弱分类算法依次应用于增量变化的数据,创建了一系列决策树,这些决策树产生了一个弱预测模型集合。虽然提高树木的准确性,但也降低了速度和人类的可解释性。梯度增强方法推广了树增强方法来最小化这些问题。

操作员启动一个1节点的本地H2O集群,并在其上运行算法。虽然它使用一个节点,但执行是并行的。您可以通过更改设置/首选项/通用/线程数设置来设置并行级别。默认情况下,它使用系统的推荐线程数。只有集群的一个实例被启动,它保持运行,直到您关闭RapidMiner Studio。

输入

  • 训练集(数据表)

    输入端口需要一个带标签的ExampleSet。

输出

  • 模型

    梯度增强分类或回归模型从这个输出端口交付。这种分类或回归模型可以应用于未知的数据集,以预测标签属性。

  • 榜样(数据表)

    作为输入给出的ExampleSet不会通过该端口更改为输出。这通常用于在进一步的操作符中重用相同的ExampleSet,或者在结果工作区中查看ExampleSet。

  • 权重(权重)

    该端口下发与label属性相关的属性权重。

参数

  • number_of_trees一个非负整数,用于定义树的数量。默认值是20。范围:整数
  • 可再生的使模型构建可复制。如果设置,则maximum_number_of_threads参数控制模型构建的并行度级别。如果没有设置,那么并行级别由通用首选项中的线程数定义。范围:布尔
  • maximum_number_of_threads控制模型构建的并行性级别。范围:整数
  • use_local_random_seed仅当可复制设置为true时可用。指示是否应使用本地随机种子进行随机化。范围:布尔
  • local_random_seed该参数指定本地随机种子。此参数仅在use local random seed参数设置为true时可用。范围:整数
  • maximal_depth用户自定义的树深度。默认值是5。范围:整数
  • min_rows分配给终端节点的最小行数。默认值是10.0。如果指定了权重列,则也会对行数进行加权。例如,如果终端节点包含权重分别为0.3和0.4的两行,则在最小行数中计算为0.7。范围:真正的
  • min_split_improvement最小的相对改进的平方误差减少的分裂发生。默认值是1E-5。范围:真正的
  • number_of_bins对于数值列(实数/整数),构建至少包含指定数量的箱子的直方图,然后在最佳点进行分割。默认值是20。范围:整数
  • learning_rate学习率。较小的学习率导致更好的模型,然而,这是以在训练和评分期间增加计算时间为代价的:较低的学习率需要更多的迭代。默认值是0.1,范围是0.0到1.0。范围:真正的
  • sample_rate每棵树的行抽样率(从0.0到1.0)。范围:真正的
  • 分布训练数据的分布函数。对于某些功能(例如tweedie),可以通过专家参数实现进一步的调整
    • AUTO:自动选择。对标称标签使用多项,对数字标签使用高斯。
    • 伯努利分布。可用于二名或二类多名标签。
    • 高斯,波森,伽玛,特威迪,分位数:回归的分布函数。
    选择范围:
  • early_stopping如果为true,则需要指定提前停止的参数。范围:布尔
  • stopping_rounds基于stopping_metric收敛性的提前停车。如果stopping_metric的长度k的简单移动平均对于k:=stopping_rounds评分事件没有改善,则停止。只有设置了early_stop后,该参数才可见。范围:整数
  • stopping_metric用于提前停止的度量。设置stopping_tolerance来调整它。只有设置了early_stop后,该参数才可见。
    • AUTO:自动选择。使用logloss进行分类,偏差进行回归。
    • deviance, logloss, MSE, AUC, lift_top_group, r2, misclassification:用来决定是否应该停止算法的度量。
    选择范围:
  • stopping_tolerance基于度量的停止标准的相对容忍度(如果相对改进至少没有这么多,则停止)。只有设置了early_stop后,该参数才可见。范围:真正的
  • max_runtime_seconds模型训练的最大允许运行时间(秒)。使用0禁用。范围:整数
  • expert_parameters这些参数是用来微调算法的。通常,默认值提供了一个不错的模型,但在某些情况下,更改它们可能是有用的。请为布尔参数使用真/假值,为列使用确切的属性名称。可以通过使用逗号(,)分隔值来提供数组。有关参数的更多信息可以在H2O文档中找到。
    • score_each_iteration:是否在模型训练的每次迭代中打分。类型:boolean,默认值:false
    • score_tree_interval:每隔50棵树对模型进行评分。如果设置为0则禁用。类型:整型,默认值:0
    • fold_assign:交叉验证折叠分配方案,如果没有指定fold_column。选项:自动,随机,模,分层。类型:枚举,默认值:AUTO
    • fold_column:每个观测值的交叉验证折叠索引分配的列名。类型:列,默认:无折叠列
    • offset_column:偏移列名称。类型:列,默认值:无偏移列
    • balance_classes:平衡训练数据类计数通过过采样/欠采样(不平衡数据)。类型:boolean,默认值:false
    • max_after_balance_size:平衡类计数后训练数据的最大相对大小(可以小于1.0)。需要balance_classes。类型:real,默认值:5.0
    • max_confusion_matrix_size:在日志中打印的混淆矩阵的最大大小(# classes)。类型:整型,默认值:20
    • nbins_top_level:对于数值列(real/int),在根级别构建(最多)这么多箱子的直方图,然后每层减少2倍。类型:integer,默认值:1024
    • nbins_cats:对于分类列(因子),构建这么多箱子的直方图,然后在最佳点分割。较高的值可能导致更多的过拟合。类型:integer,默认值:1024
    • r2_stop: r2_stop不再被支持,如果设置将被忽略-请使用stopping_rounds, stopping_metric和stopping_tolerance来代替。以前的H2O版本会在R^2等于或超过这个值时停止生成树。类型:double,默认值:Infinity
    • quantile_alpha:分位数回归所需的分位数(从0.0到1.0)。类型:double,默认值:0.5
    • tweedie_power: Tweedie Power(介于1和2之间).类型:double,默认值:1.5
    • col_sample_rate:列采样率(从0.0到1.0)。类型:double,默认值:1.0
    • col_sample_rate_per_tree:每棵树的列采样率(从0.0到1.0)。类型:double,默认值:1.0
    • keep_cross_validation_predictions:保留交叉验证模型预测。类型:boolean,默认值:false
    • keep_cross_validation_fold_assignment:保持交叉验证折叠分配。类型:boolean,默认值:false
    • class_sampling_factors:每个类的期望过采样/欠采样比率(按字典顺序排列)。如果未指定,将自动计算采样因子以在训练期间获得类平衡。需要balance_classes = true。类型:float array,默认值:空
    • learn_rate_退火:在每棵树之后按此因子缩小学习率。类型:double,默认值:1.0
    • sample_rate_per_class:每个类每个树的行采样率(从0.0到1.0)类型:双数组,默认值:空
    • col_sample_rate_change_per_level:每个级别的列采样率的相对变化(从0.0到2.0)。类型:double,默认值:1.0
    • max_abs_leafnode_pred:叶子节点预测的最大绝对值。类型:double,默认值:Infinity
    • nfolds:交叉验证的折叠数。使用0关闭交叉验证。类型:整型,默认值:0
    范围:枚举

教程的过程

使用GBT进行分类

H2O GBT算子用于预测Deals样本数据集的future_customer属性。由于标签是标称的,因此将执行分类。GBT参数略有变化。树的数量减少到10,以减少执行时间并防止过拟合。由于类似的原因,学习率提高到0.3。生成的模型连接到Apply model操作符,该操作符将GBT模型应用于Deals_Testset示例数据。带标签的ExampleSet连接到一个Performance (Binominal Classification)操作符,该操作符计算精度度量。在过程输出上显示了性能矢量和梯度增强模型。渐变增强模型的树可以在结果视图中检查。

使用GBT的分割验证分类

利用H2O GBT算子预测虹膜样本数据集的标签属性。由于标签是多标称的,因此将执行分类。学习算子在分割验证中,以便能够检查分类的性能。树的数量设置为10,其他参数保持默认值。性能(分类)操作符提供准确性和分类错误。该模型包含30棵树,因为H2O为每个唯一的标签值创建10棵树。

使用GBT进行回归

利用H2O GBT算子预测多项式样本数据集的标签属性。因为标签是真实的,所以执行回归。检索样例数据,然后使用Split data操作符将其分成两个部分。第一个输出用作训练,第二个输出用作评分数据集。GBT算子的分布参数改为“gamma”。在对计分的ExampleSet应用之后,输出包含GradientBoostedModel和标记的数据。如果您为标记的数据选择图表/系列图表样式,并在绘图系列字段中选择标签和预测标签,则可以直观地检查预测的准确性。