File: test_base_plotResiduals.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 (49 lines) | stat: -rw-r--r-- 1,679 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
test_that("plotResiduals with prediction object", {

  set.seed(getOption("mlr.debug.seed"))

  learner = makeLearner("regr.rpart")
  mod = train(learner, regr.task)
  preds = predict(mod, regr.task)
  plot = plotResiduals(preds)
  vdiffr::expect_doppelganger("plotResiduals - regr", plot)

  # histogram
  p_hist = plotResiduals(preds, type = "hist")
  vdiffr::expect_doppelganger("plotResiduals - hist", p_hist)

  # classif
  learner = makeLearner("classif.rpart")
  mod = train(learner, multiclass.task)
  preds = predict(mod, multiclass.task)
  p_hist = plotResiduals(preds)
  vdiffr::expect_doppelganger("plotResiduals - classif", p_hist)

})

test_that("plotResiduals with BenchmarkResult", {
  lrns = list(makeLearner("classif.ksvm"), makeLearner("classif.rpart"))
  tasks = list(multiclass.task, binaryclass.task)
  bmr = benchmark(lrns, tasks, hout, measures = getDefaultMeasure(multiclass.task))

  # scatterplot
  p_scatter = plotResiduals(bmr, type = "scatterplot")
  vdiffr::expect_doppelganger("plotResiduals - scatter - bmr", p_scatter)

  # histogram - bmr
  plotResiduals(bmr, type = "hist")
  p_hist_bmr = plotResiduals(bmr, type = "hist")
  vdiffr::expect_doppelganger("plotResiduals - hist - bmr", p_hist_bmr)

  p_hist_bmr_pretty = plotResiduals(bmr, pretty.names = FALSE)
  vdiffr::expect_doppelganger("plotResiduals - hist - bmr - pretty", p_hist_bmr_pretty)

  # check error when learner short names are not unique
  lrns = list(
    rf = makeLearner("classif.randomForest", id = "rf1"),
    rf2 = makeLearner("classif.randomForest", id = "rf2")
  )
  res = benchmark(lrns, tasks, hout)
  expect_error(plotBMRSummary(res),
    "names are not unique")
})