gpt4 book ai didi

java - H2O 中的 GridSearch API

转载 作者:行者123 更新时间:2023-11-30 09:53:27 27 4
gpt4 key购买 nike

我正在尝试使用 GridSearch Scala 中的 api H2O 。我找到了this文档显示了在 R 和 Python 中做什么,但 Java 文档在实际获得最佳模型之前就停止了。谁能告诉我最后几行? IE 给出 Grid<MP>如何获得最佳超参数组合或最佳模型?

编辑

这是我的代码到目前为止的样子(它是在 Scala 中,但显然我是在 H2O 中调用 Java 代码)。

private[this] def hyperopt(hyperParams: Map[String, Array[Object]]): M = {
val search = GridSearch.startGridSearch(
null,
params,
hyperParams.asJava,
new SimpleParametersBuilderFactory[P],
new HyperSpaceSearchCriteria.RandomDiscreteValueSearchCriteria)
val grid = search.get().asInstanceOf[Grid[P]]
val scoringInfo = grid.getScoringInfos.last // This is best scoringInfo cause it gets sorted along the way
//val bestParams = scoringInfo.???
//grid.getModel(bestParams).asInstanceOf[M]
}

关键问题是我不知道如何写最后两行。

经过一番挖掘,我想出了这个解决方案,虽然我不喜欢,但确实有效

private[this] def hyperopt(hyperParams: (Map[String, Array[Object]], String)): M = {
val search = GridSearch.startGridSearch(
null,
params,
hyperParams._1.asJava,
new SimpleParametersBuilderFactory[P],
new HyperSpaceSearchCriteria.RandomDiscreteValueSearchCriteria)
val grid = search.get()
val summary = grid.createSummaryTable(grid.getModelKeys, hyperParams._2, true)

info("Hyper parameter results")
info(summary.toString)

// TODO Fix this hack. I don't know a better way to do this now.
val bestModelId = summary.get(0, 1)
grid.getModels.find(m => m._key.toString == bestModelId).get.asInstanceOf[M]
}

最佳答案

如果没记错的话,Grid grid = (Grid) gs.get(),会返回一个完整的网格。现在,什么构成了最佳模型?如果您说这是最高的 ROC,则按“auc”降序对列表进行排序并选择第一个元素 - 与 this post 非常相似.

关于java - H2O 中的 GridSearch API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40227519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com