File: test_classif_multinom.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 (29 lines) | stat: -rwxr-xr-x 1,013 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

test_that("classif_multinom", {
  requirePackagesOrSkip("nnet", default.method = "load")

  capture.output({
    m = nnet::multinom(formula = multiclass.formula, data = multiclass.train)
  })

  p = predict(m, newdata = multiclass.test)
  testSimple("classif.multinom", multiclass.df, multiclass.target, multiclass.train.inds, p)

  p = predict(m, newdata = multiclass.test, type = "probs")
  testProb("classif.multinom", multiclass.df, multiclass.target, multiclass.train.inds, p)

  tt = nnet::multinom
  tp = function(model, newdata) predict(model, newdata)

  testCV("classif.multinom", multiclass.df, multiclass.target, tune.train = tt, tune.predict = tp)

  # test multinom for 2 classes
  wl = makeLearner("classif.multinom", predict.type = "prob")
  m = train(wl, binaryclass.task)
  p = predict(m, newdata = binaryclass.df)
  rr = p$data$response
  pp = getPredictionProbabilities(p)
  i = as.integer(pp < 0.5) + 1
  labs = as.factor(getTaskClassLevels(binaryclass.task)[i])
  expect_equal(rr, labs)
})