File: test_base_Learner.R

package info (click to toggle)
r-cran-mlr 2.19.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 8,392 kB
  • sloc: ansic: 65; sh: 13; makefile: 5
file content (52 lines) | stat: -rwxr-xr-x 2,197 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

test_that("Learner", {
  wl = makeLearner("classif.rpart", minsplit = 3)
  expect_equal(wl$type, "classif")
  expect_equal(wl$id, "classif.rpart")
  expect_true(is.character(wl$properties))
  expect_true(length(wl$properties) >= 6)

  wl = makeLearner("regr.lm")
  expect_equal(wl$type, "regr")
  expect_equal(wl$id, "regr.lm")
  expect_true(is.character(wl$properties))

  expect_error(makeLearner("classif.lvq1", predict.type = "prob"), "Trying to predict probs, but")
  expect_error(makeLearner("regr.lm", predict.type = "prob"), "'predict.type'")

  wl = makeLearner("classif.lvq1")
  expect_error(setPredictType(wl, "prob"), "Trying to predict probs, but")

  wl = makeLearner("regr.lm", config = list(on.learner.error = "quiet"))
  expect_equal(wl$config$on.learner.error, "quiet")

  expect_error(makeLearner("classif.lda", predict.threshold = 1, "'prob' must hold"))
})

test_that("Learner operators work", {
  lrn = makeLearner("classif.lda", nu = 3)
  expect_equal(getLearnerType(lrn), "classif")
  expect_equal(getLearnerId(lrn), "classif.lda")
  expect_equal(getLearnerPredictType(lrn), "response")
  expect_equal(getLearnerPackages(lrn), "MASS")

  # getLearnerParVals is simply a synonym for getHyperPars and that has its own test file
  expect_equal(getLearnerParVals(lrn), list(nu = 3))
  # getLearnerParamSet is simply a synonym for getParamSet, which is also tested elsewhere
  expect_equal(getLearnerParamSet(lrn), getParamSet(lrn))
  lrn2 = setLearnerId(lrn, "foo")
  expect_equal(getLearnerId(lrn2), "foo")

  # test that packages get combines
  lrn2 = makeFilterWrapper(lrn, fw.method = "randomForest_importance")
  expect_set_equal(getLearnerPackages(lrn2), c("MASS", "randomForest"))

  # test getLearnerShortName
  expect_equal(getLearnerShortName(lrn), lrn$short.name)
  wrapped.lrn = makeBaggingWrapper(lrn)
  wrapped.lrn.short.name = paste(c(lrn$short.name, "bagged"), collapse = ".")
  expect_equal(getLearnerShortName(wrapped.lrn), wrapped.lrn.short.name)
  wrapped.lrn = makeImputeWrapper(wrapped.lrn)
  wrapped.lrn.short.name = paste(c(wrapped.lrn.short.name, "imputed"), collapse = ".")
  expect_equal(getLearnerShortName(wrapped.lrn), wrapped.lrn.short.name)
})