?? ch09.r
字號:
#-*- R -*-## Script from Fourth Edition of `Modern Applied Statistics with S'# Chapter 9 Tree-based Methodslibrary(MASS)postscript(file="ch09.ps", width=8, height=6, pointsize=9)options(echo = TRUE, digits=5)library(rpart)# Figure 9.3shuttle.rp <- rpart(use ~ ., data=shuttle, minbucket=0, xval = 0, maxsurrogate = 0, cp = 0, subset = 1:253)post(shuttle.rp, horizontal = FALSE, height=10, width=8, title = "", pointsize = 8, pretty = 0)# 9.3 Implementation in rpartset.seed(123)cpus.rp <- rpart(log10(perf) ~ ., cpus[ , 2:8], cp = 1e-3)cpus.rpprint(cpus.rp, cp = 0.01) # default pruningplot(cpus.rp, uniform = TRUE)text(cpus.rp, digits = 3)printcp(cpus.rp)plotcp(cpus.rp)cpus.rp1 <- prune(cpus.rp, cp = 0.006)print(cpus.rp1, digits = 3)plot(cpus.rp1, branch = 0.4, uniform = TRUE)text(cpus.rp1, digits = 3)# for figure 9.2cpus.rp2 <- prune(cpus.rp, cp = 0.03)post(cpus.rp2, horizontal = FALSE, title = "", digits=4, pointsize=18)set.seed(123)fgl.rp <- rpart(type ~ ., fgl, cp = 0.001)plotcp(fgl.rp)printcp(fgl.rp)fgl.rp2 <- prune(fgl.rp, cp = 0.02)plot(fgl.rp2, uniform = TRUE)text(fgl.rp2, use.n = TRUE)fgl.rp2summary(fgl.rp2)set.seed(123)fgl.rp3 <- rpart(type ~ ., fgl, cp = 0.001, parms = list(split="information"))plotcp(fgl.rp3)printcp(fgl.rp3)fgl.rp4 <- prune(fgl.rp3, cp = 0.03)plot(fgl.rp4, uniform = TRUE); text(fgl.rp4, use.n = TRUE)plot(cpus.rp, branch = 0.6, compress = TRUE, uniform = TRUE)text(cpus.rp, digits = 3, all = TRUE, use.n = TRUE)# 9.3 Implementation in treelibrary(tree)## the stopping criteria differ slightly between R and S-PLUScpus.ltr <- tree(log10(perf) ~ ., data = cpus[, 2:8], mindev = 0.005)summary(cpus.ltr)cpus.ltrplot(cpus.ltr, type="u"); text(cpus.ltr)par(mfrow = c(1, 2), pty = "s")set.seed(321)plot(cv.tree(cpus.ltr, , prune.tree))cpus.ltr1 <- prune.tree(cpus.ltr, best = 10)plot(cpus.ltr1, type = "u")text(cpus.ltr1, digits = 3)par(mfrow = c(1, 1), pty = "m")fgl.tr <- tree(type ~ ., fgl)summary(fgl.tr)plot(fgl.tr)text(fgl.tr, all = TRUE, cex = 0.5)par(mfrow = c(1, 2), pty = "s")set.seed(123)fgl.cv <- cv.tree(fgl.tr,, prune.misclass)for(i in 2:5) fgl.cv$dev <- fgl.cv$dev + cv.tree(fgl.tr,, prune.misclass)$devfgl.cv$dev <- fgl.cv$dev/5fgl.cvplot(fgl.cv)fgl.tr1 <- prune.misclass(fgl.tr, best = 9)plot(fgl.tr1, type = "u")text(fgl.tr1, all = TRUE)# End of ch09
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -