h2o中有关随机森林概率校准的问题

时间:2019-05-01 02:15:55

标签: python h2o

我正在阅读h2o文档http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/calibrate_model.html中的校准概率示例

由于该示例的解释不充分,我的问题是:

  1. 训练集中是否必须有权重(weights_column)?
  2. 如果是,这些权重是做什么的?

我也试着忽略重物。该代码仍在运行,但结果却大不相同。任何见识将不胜感激

1 个答案:

答案 0 :(得分:0)

如果您对H2O-3中的权重栏的工作方式感兴趣,可以查看文档here和代码示例here

为方便起见,我随附了此文档的副本:

weights_column

可用格式:GBM,DRF,深度学习,GLM,AutoML,XGBoost,CoxPH 超参数:否

说明

此选项指定确定权重时要使用的训练框中的列。权重是每行观察权重,不会增加数据帧的大小。这通常是重复行的次数,但也支持非整数值。在训练过程中,由于损失函数的前置因子较大,权重较高的行更为重要。

为了进行评分,所有计算的指标都将考虑观察权重(用于增益/提升,AUC,混淆矩阵,对数损失等),因此,如果需要,还必须提供权重列以进行验证或测试集上/下权重某些观察结果(最好在训练和测试之间始终保持一致)。请注意,如果省略权重,则所有观测值将具有相等的权重(设置为1)以计算度量。例如,权重2等于复制一行。

注释:

重量可以指定为整数或非整数。 权重列不能与fold_column相同。 如果将权重列指定为要素(预测变量)和权重,则该列将仅用于权重。 GitHub上提供了示例单元测试脚本: https://github.com/h2oai/h2o-3/blob/master/h2o-py/tests/testdir_algos/gbm/pyunit_weights_gbm.py https://github.com/h2oai/h2o-3/blob/master/h2o-py/tests/testdir_algos/gbm/pyunit_weights_gamma_gbm.py

深度学习中的观察权重

在深度学习中,观察权值的处理方式与其他受支持算法不同。对于深度学习以外的算法,权重以直接的方式进入了拆分查找和叶节点预测数学。对于深度学习而言,难度更大。通常,将权重用作损失中的乘数,将无法正常工作,并且这与复制同一行不同。同样,一次又一次地应用同一行也不是一个好主意,因此在训练过程中采样仍应处于活动状态。为了解决这些问题,深度学习通过使用逆累积分布函数的重要性采样来实现。它还包括一个特殊情况,即从数据集中为其训练的第二行选择一个随机行,以保持游戏中的异常值。请注意,深度学习的观察权值既不是0也不是1,很难正确处理。在这种情况下,最好使用balance_classes = TRUE显式过采样。

相关参数

  • balance_classes
  • offset_column
  • y