Machine learning H2O AutoML中的排行榜

Machine learning H2O AutoML中的排行榜,machine-learning,h2o,automl,Machine Learning,H2o,Automl,我刚刚开始学习使用H2OAutoML,我正在尝试一个二进制分类模型 我试图理解为什么模型的排名会随着每次跑步而变化 前5名的车型仍然排在前5名,但这些车型的排名略有上升或下降 虽然DRF一度排名第二,但另一次排名第三 我可以推测导致变化的原因有两个 算法的种子每次都会更改 没有指定任何导板框架 RF包括随机抽样,作为过程的一部分,每次都会生成不同的树 领导委员会不会变更,数据/代码的其他变更负责变更 你能帮我更好地理解这一点吗。听起来你不是在播种,所以你应该从那里开始。为了使具有内在随机性的算法

我刚刚开始学习使用H2OAutoML,我正在尝试一个二进制分类模型

我试图理解为什么模型的排名会随着每次跑步而变化

前5名的车型仍然排在前5名,但这些车型的排名略有上升或下降

虽然DRF一度排名第二,但另一次排名第三

我可以推测导致变化的原因有两个

  • 算法的种子每次都会更改
  • 没有指定任何导板框架
  • RF包括随机抽样,作为过程的一部分,每次都会生成不同的树
  • 领导委员会不会变更,数据/代码的其他变更负责变更

  • 你能帮我更好地理解这一点吗。

    听起来你不是在播种,所以你应该从那里开始。为了使具有内在随机性的算法(例如XGBoost、GBM、Random Forest)每次都产生相同的答案,必须设置一个随机种子(至少)。在H2O AutoML中,只有一个
    seed
    参数(该参数通过管道向下传递到所有单独的算法),如果每次都将其设置为相同的值,则重复运行时大多数模型都是相同的。默认情况下,AutoML还将对随机折叠进行交叉验证,因此这也保证了每次使用相同的折叠

    有几个警告——H2O深度学习是不可复制的(默认情况下),即使你设定了一个种子,所以这些模型总是会改变的。由于“所有模型”堆叠集成除了使用一系列其他模型外,还使用深度学习模型,因此最终集成也是不可复制的


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

    您设置种子了吗?没有。在领头羊排行榜上,播种会产生同样的排名吗?种子值应该是多少?设置种子应在每次运行时提供相同的结果