H2O AutoML 排行榜

Leaderboard in H2O AutoML

我刚开始学习使用 H2O Auto ML,我正在尝试二元分类模型。

我想了解为什么模型的排名会随着每个 运行 的变化而变化。

前 5 名的模型仍然在前 5 名中,但模型的排名略有上升或下降。

DRF有一次排名第二,另一次排名第三

我推测有几个原因会导致变化。

  1. 算法的种子每次都会改变
  2. 没有分配排行榜框架
  3. RF 涉及随机抽样作为过程的一部分,导致每次构建不同的树
  4. 排行榜不会改变,数据/代码的一些其他变化负责变化。

你能帮助我更好地理解这一点吗?

听起来你没有播种,所以你应该从这里开始。为了使具有固有随机性的算法(例如 XGBoost、GBM、随机森林)每次都产生相同的答案,必须设置一个随机种子(至少)。在 H2O AutoML 中,有一个单一的 seed 参数(通过管道传递给所有单独的算法),如果每次都将其设置为相同的值,most 模型在重复 运行 时将相同。默认情况下,AutoML 也会 cross-validation 随机折叠,因此这也保证每次都使用相同的折叠。

有一些注意事项 -- H2O 深度学习不可重现(默认情况下),即使您设置了种子,所以这些模型总是会改变。由于“所有模型”堆叠集成除了一堆其他模型外还使用深度学习模型,因此最终集成也将是 non-reproducible.

最后,您应该使用 max_models 而不是 max_runtime_secs 来控制 AutoML 应 运行 多长时间——否则您可能会在排行榜上获得不同数量的模型(和所有模型堆叠合奏)在随后的 运行s.