在 mlr3 中使用 classif.svm 调整参数时出错
Error on tuning parameters using classif.svm in mlr3
我正在使用 mlr3 构建一个使用 SVM 分类器的机器学习工作流程。当我尝试调整参数时
library(mlr3)
library(mlr3learners)
library(paradox)
library(mlr3tuning)
task = tsk("pima")
learner = lrn("classif.svm")
learner$param_set
tune_ps = ParamSet$new(list(
ParamDbl$new("cost", lower = 0.001, upper = 0.1)
))
tune_ps
hout = rsmp("holdout")
measure = msr("classif.ce")
evals20 = term("evals", n_evals = 20)
instance = TuningInstance$new(
task = task,
learner = learner,
resampling = hout,
measures = measure,
param_set = tune_ps,
terminator = evals20
)
tuner = tnr("grid_search", resolution = 10)
result<-tuner$tune(instance)
输出错误
Error in (function (xs) :
Assertion on 'xs' failed: Condition for 'cost' not ok: type equal C-classification; instead: type=
我不知道那里发生了什么。
我们决定使用更具描述性的错误消息来解决此问题,但仍然需要在 ParamSet 中明确设置具有依赖关系的参数,而不是回退到 ParamSet 默认值。
有关详细信息,请参阅 https://github.com/mlr-org/paradox/pull/262 和相关 issues/PRs。
我正在使用 mlr3 构建一个使用 SVM 分类器的机器学习工作流程。当我尝试调整参数时
library(mlr3)
library(mlr3learners)
library(paradox)
library(mlr3tuning)
task = tsk("pima")
learner = lrn("classif.svm")
learner$param_set
tune_ps = ParamSet$new(list(
ParamDbl$new("cost", lower = 0.001, upper = 0.1)
))
tune_ps
hout = rsmp("holdout")
measure = msr("classif.ce")
evals20 = term("evals", n_evals = 20)
instance = TuningInstance$new(
task = task,
learner = learner,
resampling = hout,
measures = measure,
param_set = tune_ps,
terminator = evals20
)
tuner = tnr("grid_search", resolution = 10)
result<-tuner$tune(instance)
输出错误
Error in (function (xs) : Assertion on 'xs' failed: Condition for 'cost' not ok: type equal C-classification; instead: type=
我不知道那里发生了什么。
我们决定使用更具描述性的错误消息来解决此问题,但仍然需要在 ParamSet 中明确设置具有依赖关系的参数,而不是回退到 ParamSet 默认值。
有关详细信息,请参阅 https://github.com/mlr-org/paradox/pull/262 和相关 issues/PRs。