1library(ipred) 2 3suppressWarnings(RNGversion("3.5.3")) 4actversion <- paste(R.version$major, R.version$minor, sep=".") 5thisversion <- "1.7.0" 6 7#if (compareVersion(actversion, thisversion) >= 0) { 8# RNGversion("1.6.2") 9#} 10set.seed(29081975) 11 12data("BreastCancer", package = "mlbench") 13mod <- bagging(Class ~ Cl.thickness + Cell.size 14 + Cell.shape + Marg.adhesion 15 + Epith.c.size + Bare.nuclei 16 + Bl.cromatin + Normal.nucleoli 17 + Mitoses, data=BreastCancer, coob=TRUE) 18print(mod) 19 20print(a <- predict(mod, newdata=BreastCancer)) 21stopifnot(length(a) == nrow(BreastCancer)) 22 23# bagging failed if only one predictor was specified 24# by Christoph M. Friedrich <chris@uni-wh.de>, April 29th, 2002 25 26X <- as.data.frame(matrix(rnorm(1000), ncol=10)) 27y <- factor(ifelse(apply(X, 1, mean) > 0, 1, 0)) 28learn <- cbind(y, X) 29mt <- bagging(y ~ V1, data=learn, coob=TRUE) 30# <FIXME> 31# This won't work because of some difficulties with predict.lda 32# mt <- bagging(y ~ V1, data=learn, method="double", coob=FALSE) 33# </FIXME> 34X <- as.data.frame(matrix(rnorm(1000), ncol=10)) 35y <- apply(X, 1, mean) + rnorm(nrow(X)) 36learn <- cbind(y, X) 37mt <- bagging(y ~ V1, data=learn, coob=TRUE) 38 39# cv.numeric and bootest.numeric were broken, check for reasonaly values 40X <- as.data.frame(matrix(rnorm(1000), ncol=10)) 41y <- apply(X, 1, mean) + rnorm(nrow(X)) 42learn <- cbind(y, X) 43newy <- apply(X, 1, mean) + rnorm(nrow(X)) 44mod <- lm(y ~ ., data=learn) 45trueerr <- sqrt(mean((newy - fitted(mod))^2)) 46cverr <- rep(0,5) 47for (i in 1:5) cverr[i] <- errorest(y ~., data=learn, model=lm)$error 48booterr <- errorest(y ~., data=learn, model=lm, 49 estimator="boot",est.para=control.errorest(nboot=50))$error 50print(trueerr/mean(cverr)) 51print(trueerr/booterr) 52