[fbf06f]: / partyMod / tests / RandomForest-regtest.R

Download this file

52 lines (40 with data), 1.6 kB

 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
set.seed(290875)
library("party")
if (!require("TH.data"))
stop("cannot load package TH.data")
if (!require("coin"))
stop("cannot load package coin")
data("GlaucomaM", package = "TH.data")
rf <- cforest(Class ~ ., data = GlaucomaM, control = cforest_unbiased(ntree = 30))
stopifnot(mean(GlaucomaM$Class != predict(rf)) <
mean(GlaucomaM$Class != predict(rf, OOB = TRUE)))
data("GBSG2", package = "TH.data")
rfS <- cforest(Surv(time, cens) ~ ., data = GBSG2, control = cforest_unbiased(ntree = 30))
treeresponse(rfS, newdata = GBSG2[1:2,])
### give it a try, at least
varimp(rf, pre1.0_0 = TRUE)
P <- proximity(rf)
stopifnot(max(abs(P - t(P))) == 0)
P[1:10,1:10]
### variable importances
a <- cforest(Species ~ ., data = iris,
control = cforest_unbiased(mtry = 2, ntree = 10))
varimp(a, pre1.0_0 = TRUE)
varimp(a, conditional = TRUE)
airq <- subset(airquality, complete.cases(airquality))
a <- cforest(Ozone ~ ., data = airq,
control = cforest_unbiased(mtry = 2, ntree = 10))
varimp(a, pre1.0_0 = TRUE)
varimp(a, conditional = TRUE)
data("mammoexp", package = "TH.data")
a <- cforest(ME ~ ., data = mammoexp, control = cforest_classical(ntree = 10))
varimp(a, pre1.0_0 = TRUE)
varimp(a, conditional = TRUE)
stopifnot(all.equal(unique(sapply(a@weights, sum)), nrow(mammoexp)))
### check user-defined weights
nobs <- nrow(GlaucomaM)
i <- rep(0.0, nobs)
i[1:floor(.632 * nobs)] <- 1
folds <- replicate(100, sample(i))
rf2 <- cforest(Class ~ ., data = GlaucomaM, control = cforest_unbiased(ntree = 100), weights = folds)
table(predict(rf), predict(rf2))