Switch to unified view

a b/partyMod/tests/RandomForest-regtest.R
1
2
set.seed(290875)
3
library("party")
4
if (!require("TH.data"))
5
    stop("cannot load package TH.data")
6
if (!require("coin"))
7
    stop("cannot load package coin")
8
9
data("GlaucomaM", package = "TH.data")
10
rf <- cforest(Class ~ ., data = GlaucomaM, control = cforest_unbiased(ntree = 30))
11
stopifnot(mean(GlaucomaM$Class != predict(rf)) < 
12
          mean(GlaucomaM$Class != predict(rf, OOB = TRUE)))
13
14
data("GBSG2", package = "TH.data")
15
rfS <- cforest(Surv(time, cens) ~ ., data = GBSG2, control = cforest_unbiased(ntree = 30))
16
treeresponse(rfS, newdata = GBSG2[1:2,])
17
18
### give it a try, at least
19
varimp(rf, pre1.0_0 = TRUE)
20
21
P <- proximity(rf)
22
stopifnot(max(abs(P - t(P))) == 0)
23
24
P[1:10,1:10]
25
26
### variable importances
27
a <- cforest(Species ~ ., data = iris,
28
             control = cforest_unbiased(mtry = 2, ntree = 10))
29
varimp(a, pre1.0_0 = TRUE)
30
varimp(a, conditional = TRUE)
31
32
airq <- subset(airquality, complete.cases(airquality))
33
a <- cforest(Ozone ~ ., data = airq,
34
             control = cforest_unbiased(mtry = 2, ntree = 10))
35
varimp(a, pre1.0_0 = TRUE)   
36
varimp(a, conditional = TRUE)
37
38
data("mammoexp", package = "TH.data")
39
a <- cforest(ME ~ ., data = mammoexp, control = cforest_classical(ntree = 10))
40
varimp(a, pre1.0_0 = TRUE)   
41
varimp(a, conditional = TRUE)
42
43
stopifnot(all.equal(unique(sapply(a@weights, sum)), nrow(mammoexp)))
44
45
### check user-defined weights
46
nobs <- nrow(GlaucomaM)
47
i <- rep(0.0, nobs)
48
i[1:floor(.632 * nobs)] <- 1
49
folds <- replicate(100, sample(i))
50
rf2 <- cforest(Class ~ ., data = GlaucomaM, control = cforest_unbiased(ntree = 100), weights = folds)
51
table(predict(rf), predict(rf2))