Nothing
context("conversion")
test_that("type conversions in graph creation", {
gr1 = Graph$new()$add_pipeop(po("scale"))
gr2 = Graph$new()$add_pipeop(PipeOpScale$new())
gr3 = as_graph(PipeOpScale$new())
gr4 = Graph$new()$add_pipeop(mlr_pipeops$get("scale"))
expect_equal(gr1, gr2)
expect_equal(gr1, gr3)
expect_equal(gr1, gr4)
gr1 = po("pca") %>>% PipeOpScale$new()
gr2 = PipeOpPCA$new() %>>% PipeOpScale$new()
gr3 = po("pca") %>>% gr3
expect_equal(gr1, gr2)
expect_equal(gr1, gr3)
expect_equal(gr1, gunion(list(po("pca"), po("scale")))$add_edge("pca", "scale"))
})
test_that("learner conversion in graph creation", {
skip_if_not_installed("rpart")
skip_if_not_installed("rpart")
gr1 = Graph$new()$add_pipeop(lrn("classif.rpart"))
gr2 = Graph$new()$add_pipeop(LearnerClassifRpart$new())
gr3 = Graph$new()$add_pipeop(mlr_pipeops$get("learner", lrn("classif.rpart")))
gr4 = Graph$new()$add_pipeop(PipeOpLearner$new(mlr_learners$get("classif.rpart")))
expect_equal(gr1, gr2)
expect_equal(touch(gr1), touch(gr3))
expect_equal(gr1, touch(gr4))
gr1 = po("scale") %>>% lrn("classif.rpart")
gr2 = po("scale") %>>% mlr_pipeops$get("learner", lrn("classif.rpart"))
gr3 = po("scale") %>>% LearnerClassifRpart$new()
gr4 = po("scale") %>>% PipeOpLearner$new(mlr_learners$get("classif.rpart"))
gr1$param_set
gr2$param_set
gr3$param_set
gr4$param_set
expect_equal(gr1, gr2)
expect_equal(gr1, gr3)
expect_equal(gr1, gr4)
expect_equal(mlr_pipeops$get("learner_cv", lrn("classif.rpart")),
PipeOpLearnerCV$new(mlr_learners$get("classif.rpart")))
})
test_that("assertions work", {
skip_if_not_installed("rpart")
expect_error(as_pipeop("test"))
expect_error(assert_pipeop(lrn("classif.rpart")))
expect_class(as_pipeop(lrn("classif.rpart")), "PipeOp")
expect_error(as_graph("test"))
expect_class(as_graph(po("scale")), "Graph")
expect_class(as_pipeop(lrn("classif.rpart")), "PipeOp")
expect_class(as_graph(lrn("classif.rpart")), "Graph")
expect_error(as_pipeop(Graph))
expect_class(as_pipeop(PipeOpScale$new()), "PipeOp")
expect_error(as_graph(Graph))
expect_class(as_graph(PipeOpScale$new()), "Graph")
# proximity matching
expect_error(po("scule") %>>% po("pca"), "scale")
expect_error(po("scale") %>>% lrn("classif.rpurt"), "classif.rpart")
})
test_that("auto-gunion", {
expect_equal(
list(po("pca"), po("scale")) %>>% list(po("subsample"), po("nop")),
gunion(list(mlr_pipeops$get("pca"), mlr_pipeops$get("scale"))) %>>%
gunion(list(mlr_pipeops$get("subsample"), mlr_pipeops$get("nop")))
)
expect_equal(
list(po("pca"), po("scale")) %>>% mlr_pipeops$get("featureunion", 2),
gunion(list(mlr_pipeops$get("pca"), mlr_pipeops$get("scale"))) %>>%
PipeOpFeatureUnion$new(2)
)
})
test_that("po for Filter", {
skip_if_not_installed("mlr3filters")
flt = mlr3filters::FilterVariance$new()
flt$param_set$values$na.rm = TRUE
fpo1 = PipeOpFilter$new(flt, param_vals = list(na.rm = FALSE))
fpo2 = po("filter", flt, na.rm = FALSE)
fpo3 = po(flt, na.rm = FALSE)
expect_equal(fpo1, fpo2)
expect_equal(fpo1, fpo3)
})
test_that("po for Learner", {
skip_if_not_installed("rpart")
lrn = LearnerClassifRpart$new()
lrn$param_set$values$xval = 9
lpo1 = touch(PipeOpLearner$new(lrn, param_vals = list(xval = 1)))
lpo2 = po("learner", lrn, xval = 1)
lpo3 = po(lrn, xval = 1)
expect_equal(lpo1, lpo2)
expect_equal(lpo1, lpo3)
})
test_that("Graph to GraphLearner", {
skip_if_not_installed("rpart")
grph = po("pca") %>>% po(lrn("classif.rpart"))
glrn1 = GraphLearner$new(grph)
glrn2 = as_learner(grph)
expect_equal(glrn1, glrn2)
task = tsk("iris")
cv = rsmp("holdout")$instantiate(task)
# test that the graph can be given to `resample()` directly
r1 = resample(task, glrn1, cv)$predictions()
r3 = resample(task, grph, cv)$predictions()
expect_equal(r1, r3)
})
test_that("PipeOp to GraphLearner", {
skip_if_not_installed("rpart")
po = po("proxy", param_vals = list(content = lrn("classif.rpart")))
glrn1 = GraphLearner$new(po)
glrn2 = as_learner(po)
expect_equal(glrn1, glrn2)
task = tsk("iris")
cv = rsmp("holdout")$instantiate(task)
r1 = resample(task, glrn1, cv)$predictions()
r3 = resample(task, po$param_set$values$content, cv)$predictions()
expect_equal(r1, r3)
po_cv = po("learner_cv", learner = po, param_vals = list(resampling.method = "insample"))
expect_true("GraphLearner" %in% class(po_cv$learner))
train_out = po_cv$train(list(task))
expect_task(train_out[[1L]])
predict_out = po_cv$train(list(task))
expect_task(predict_out[[1L]])
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.