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 53 54 55 56 57 58 59 60 61 62 63 64
|
test_that("cv instance works", {
rin = makeResampleInstance(makeResampleDesc("CV", iters = 3), size = 25)
folds = rin$desc$iters
expect_equal(folds, 3)
for (i in 1:folds) {
i1 = rin$train.inds[[i]]
i2 = rin$test.inds[[i]]
expect_true(min(i1) >= 1)
expect_true(max(i1) <= 25)
expect_true(min(i2) >= 1)
expect_true(max(i2) <= 25)
expect_equal(sort(c(unique(i1), i2)), 1:25)
}
})
test_that("cv resampling works", {
data = multiclass.df
formula = multiclass.formula
parset = list(minsplit = 12, cp = 0.09)
requirePackagesOrSkip("rpart", default.method = "load")
tt = rpart::rpart
tp = function(model, newdata) predict(model, newdata, type = "class")
expect_true({
testCV("classif.rpart", multiclass.df, multiclass.target, tune.train = tt,
tune.predict = tp, parset = parset)
})
})
test_that("cv instance works is stochastic", {
rin = makeResampleInstance(makeResampleDesc("CV", iters = 3), size = 25)
folds = rin$desc$iters
expect_equal(folds, 3)
for (i in 1:folds) {
i1 = rin$train.inds[[i]]
i2 = rin$test.inds[[i]]
expect_true(min(i1) >= 1)
expect_true(max(i1) <= 25)
expect_true(min(i2) >= 1)
expect_true(max(i2) <= 25)
expect_equal(sort(c(unique(i1), i2)), 1:25)
}
rin1 = makeResampleInstance(makeResampleDesc("CV", iters = 2L), size = 500)
rin2 = makeResampleInstance(makeResampleDesc("CV", iters = 2L), size = 500)
expect_true(!all(sort(rin1$test.inds[[1]]) == sort(rin2$test.inds[[1]])))
})
test_that("test.join works somehow", {
lrn = makeLearner("classif.rpart", predict.type = "prob")
# check if test.join computes acc correctly
mm = setAggregation(acc, test.join)
r = resample(lrn, sonar.task, cv2, measures = mm)
rpred = getRRPredictions(r)
expect_equal(as.numeric(r$aggr),
mean(getPredictionTruth(rpred) == getPredictionResponse(rpred)))
})
|