【问题标题】:how to get and set hyperparameter from a mlr Wrapper如何从 mlr Wrapper 获取和设置超参数
【发布时间】:2019-01-04 09:02:29
【问题描述】:

我运行以下命令从某个任务中训练一个包装模型。我想从包装器中获取超参数。我尝试了以下

library(mlr)
lrn = makeLearner("classif.ksvm")
lrn = makeRemoveConstantFeaturesWrapper(lrn)
df = getTaskData(sonar.task)
df$constant = 1
task = makeClassifTask(data = df, target = "Class")
model = train(learner = lrn, task = sonar.task)
model
getHyperPars(model)

我收到以下消息。

Error in UseMethod("getHyperPars") : 
  no applicable method for 'getHyperPars' applied to an object of class "c('PreprocModel', 'BaseWrapperModel', 'WrappedModel')"

如何获取和设置封装模型的超参数? 谢谢!

【问题讨论】:

    标签: mlr


    【解决方案1】:

    你必须将它应用到学习者身上:

    getHyperPars(lrn)
    

    这只给出明确设置的超参数。

    【讨论】:

    • 我需要从模型而不是学习者获取 HyperPars
    • 但是 getHyperPars(model$learner) 只能得到基础学习者的超标准,而不是 removeConstantFeatures
    • 你说的不是超参数而是模型参数吗?那将是在这种情况下删除的功能吗? makeRemoveConstantFeaturesWrapper 唯一的超标准是 perc,你必须自己定义。
    猜你喜欢
    • 2018-12-14
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 2018-03-09
    • 2011-08-13
    相关资源
    最近更新 更多