【问题标题】:H2O document question for stopping_tolerance, score_each_iteration, score_tree_interval, etc针对 stop_tolerance、score_each_iteration、score_tree_interval 等的 H2O 文档问题
【发布时间】:2019-03-13 18:19:47
【问题描述】:

阅读 h2o 文档后,我有以下问题仍然让我感到困惑。谁能给我解释一下

  1. 对于 stop_tolerance = 0.001,我们以 AUC 为例,当前 AUC 为 0.8。这是否意味着 AUC 需要增加 0.8 + 0.001 或需要增加 0.8*(1+0.1%)?
  2. score_each_iteration,在 H2O 文档中 (http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/score_each_iteration.html) 它只是说“迭代”。但是每个的定义到底是什么 “迭代”,就是每棵树或者每一个网格搜索或者每K个文件夹 交叉验证还是其他?
  3. 我可以定义 score_tree_interval 并设置 score_each_iteration = True 同时或者我只能使用其中一个来制作网格 可重复搜索?
  4. 放'stopping_metric'有什么不同吗, 'stopping_tolerance','stopping_rounds' 在 H2OGradientBoostingEstimator 与 H2OGridSearch 的 search_criteria 对比? 我发现放入 H2OGradientBoostingEstimator 会使代码运行 当我在 Spark 环境中测试它时要快得多

【问题讨论】:

    标签: h2o


    【解决方案1】:
    1. 0.001 与 0.1% 相同,对于 AUC,因为越大越好,您会希望在指定的计分轮数后看到至少 0.001 的增加。

    2. 您已链接到特定于页面顶部Available in 中列出的算法的文档部分。因此,让我们坚持针对单个模型而不是网格搜索来回答这个问题。如果您想查看每次迭代的得分,请查看 Flow 中的模型结果或使用 my_model.plot()(对于 python api)查看每次迭代的得分。对于 GBM 和 DRF,这将是 ntrees,但由于不同的算法会有不同的方面来改变单词迭代,因为它更通用。

    3. 您对此进行了测试吗?当你这样做的时候你发现了什么?查看 flow 中的评分历史图,注意同时设置 score_tree_interval 和 score_each_iteration = True 与仅设置 score_tree_interval 时会发生什么(我建议在使用网格搜索之前尝试在单个模型级别理解这些参数)。

    4. 是的,如果您在网格搜索的情况下构建单个模型时指定提前停止,则表示是否不构建更多模型。

    【讨论】:

    • 对于问题 1,如果当前 AUC 为 0.8,stopping_tolerance = 0.001 需要将 AUC 增加到 0.8*(1+0.1%) 而不是 0.8 + 0.001?
    • 对于问题 3,我使用随机森林进行了测试,我发现 a) 如果我指定 score_each_iteration = True,它会运行得更快。 b) 指定 score_each_iteration 的结果与指定两者相同,但与仅指定 score_tree_interval = 5 不同。 c) 当我运行网格搜索时,我需要同时指定 score_each_iteration = True 并设置 score_tree_interval = 5 以使其可重复。我不知道为什么
    猜你喜欢
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多