如何使用 h2o DL 和 mlr 调整参数?

问题描述

我正在尝试使用 h2o 更改 mlr 深度学习器的一些参数。 herehere 也提出了类似的问题。但是,我仍然对如何更改某些特定参数感到困惑。我在下面提供了一个简单的例子来说明我想要实现的目标。

如果我有一些数据:

data <- data.frame(
  x = rnorm(144),y = rnorm(144),z = rnorm(144),Factor1 = as.factor(rep(c("A","B"),each = 36)),Factor2 = as.factor(rep(c(rep("Red",18),rep("Blue",18)),4)),Response = as.factor(rep(c(rep(1,11),rep(0,7),4))
)

并且我建立了一个 h2o 深度学习器模型,我可以像这样更改参数(例如纪元):

library(h2o)
y <- "Response"
x <- names(data[,-6])


h2o.init()
h2o.no_progress()

set.seed(1234)
h2oDL <- h2o.deeplearning(x,y,as.h2o(data),epochs = 50,nfolds = 3,score_interval = 1,stopping_rounds = 5,stopping_metric = "misclassification",stopping_tolerance = 1e-3,)

但我试图做的是使用 mlr 更改这些特定参数。通常,您可以像这样创建 mlr 模型:

library(mlr)

Task <- makeClassifTask(data = data,target = "Response")
Lrn <- makeLearner("classif.h2o.deeplearning",predict.type = "prob")
Mod <-train(Lrn,Task)

我试图做这样的事情:

param_set <- makeParamSet(
  makeNumericParam("epochs",default = 50)

)

然后在创建学习器时添加它,如下所示:

Task <- makeClassifTask(data = data,predict.type = "prob",par.vals = param_set)
Mod <-train(Lrn,Task)

但这会引发错误。关于如何更改 h2o.deeplearning 中的特定参数(即我在上面的 mlr 函数示例中更改的参数)的任何建议?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)