context("tuneOptim")
test_that("tuneOptim", {
res = makeResampleDesc("CV", iters=2)
ps1 = makeParamSet(
makeNumericParam("C", trafo=function(x) 2^x),
makeNumericParam("sigma", trafo=function(x) 2^x)
)
ps2 = makeParamSet(
makeNumericParam("cp", lower=0.001, upper=1),
makeIntegerParam("minsplit", lower=1)
)
ps3 = makeParamSet(
makeNumericParam("cp", lower=0.001, upper=1),
makeDiscreteParam("minsplit", values=c(1,2))
)
lrn1 = makeLearner("classif.ksvm")
lrn2 = makeLearner("classif.rpart")
# nelder mead with optim
ctrl = makeTuneControlOptim(method="Nelder-Mead",
start=list(C=0, sigma=0), maxit=10)
tr = tuneParams(lrn1, binaryclass.task, res, par.set=ps1, control=ctrl)
ctrl = makeTuneControlOptim(method="Nelder-Mead",
start=list(cp=0.05, minsplit=5), maxit=10)
expect_error(tuneParams(lrn2, binaryclass.task, res, par.set=ps2, control=ctrl))
ctrl = makeTuneControlOptim(method="SANN",
start=list(C=0, sigma=0), maxit=10)
tr = tuneParams(lrn1, binaryclass.task, res, par.set=ps1, control=ctrl)
ctrl = makeTuneControlOptim(method="SANN",
start=list(cp=0.05, minsplit=5), maxit=10)
expect_error(tuneParams(lrn2, binaryclass.task, res, par.set=ps2, control=ctrl))
ctrl = makeTuneControlOptim(method="L-BFGS-B",
start=list(C=0, sigma=0), maxit=10)
tr = tuneParams(lrn1, binaryclass.task, res, par.set=ps1, control=ctrl)
ctrl = makeTuneControlOptim(method="L-BFGS-B",
start=list(cp=0.05, minsplit=5), maxit=10)
tr = tuneParams(lrn2, binaryclass.task, res, par.set=ps2, control=ctrl)
expect_error(tuneParams(lrn2, multiclass.task, res, par.set=ps3, control=ctrl))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.