1080 lines
33 KiB
Plaintext
1080 lines
33 KiB
Plaintext
|
||
R Under development (unstable) (2019-04-05 r76323) -- "Unsuffered Consequences"
|
||
Copyright (C) 2019 The R Foundation for Statistical Computing
|
||
Platform: x86_64-pc-linux-gnu (64-bit)
|
||
|
||
R is free software and comes with ABSOLUTELY NO WARRANTY.
|
||
You are welcome to redistribute it under certain conditions.
|
||
Type 'license()' or 'licence()' for distribution details.
|
||
|
||
Natural language support but running in an English locale
|
||
|
||
R is a collaborative project with many contributors.
|
||
Type 'contributors()' for more information and
|
||
'citation()' on how to cite R or R packages in publications.
|
||
|
||
Type 'demo()' for some demos, 'help()' for on-line help, or
|
||
'help.start()' for an HTML browser interface to help.
|
||
Type 'q()' to quit R.
|
||
|
||
> pkgname <- "rpart"
|
||
> source(file.path(R.home("share"), "R", "examples-header.R"))
|
||
> options(warn = 1)
|
||
> library('rpart')
|
||
>
|
||
> base::assign(".oldSearch", base::search(), pos = 'CheckExEnv')
|
||
> base::assign(".old_wd", base::getwd(), pos = 'CheckExEnv')
|
||
> cleanEx()
|
||
> nameEx("car.test.frame")
|
||
> ### * car.test.frame
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: car.test.frame
|
||
> ### Title: Automobile Data from 'Consumer Reports' 1990
|
||
> ### Aliases: car.test.frame
|
||
> ### Keywords: datasets
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> summary(z.auto)
|
||
Call:
|
||
rpart(formula = Mileage ~ Weight, data = car.test.frame)
|
||
n= 60
|
||
|
||
CP nsplit rel error xerror xstd
|
||
1 0.59534912 0 1.0000000 1.0337818 0.18046532
|
||
2 0.13452819 1 0.4046509 0.5836606 0.10900973
|
||
3 0.01282843 2 0.2701227 0.4409221 0.08652804
|
||
4 0.01000000 3 0.2572943 0.4415805 0.08663003
|
||
|
||
Variable importance
|
||
Weight
|
||
100
|
||
|
||
Node number 1: 60 observations, complexity param=0.5953491
|
||
mean=24.58333, MSE=22.57639
|
||
left son=2 (45 obs) right son=3 (15 obs)
|
||
Primary splits:
|
||
Weight < 2567.5 to the right, improve=0.5953491, (0 missing)
|
||
|
||
Node number 2: 45 observations, complexity param=0.1345282
|
||
mean=22.46667, MSE=8.026667
|
||
left son=4 (22 obs) right son=5 (23 obs)
|
||
Primary splits:
|
||
Weight < 3087.5 to the right, improve=0.5045118, (0 missing)
|
||
|
||
Node number 3: 15 observations
|
||
mean=30.93333, MSE=12.46222
|
||
|
||
Node number 4: 22 observations
|
||
mean=20.40909, MSE=2.78719
|
||
|
||
Node number 5: 23 observations, complexity param=0.01282843
|
||
mean=24.43478, MSE=5.115312
|
||
left son=10 (15 obs) right son=11 (8 obs)
|
||
Primary splits:
|
||
Weight < 2747.5 to the right, improve=0.1476996, (0 missing)
|
||
|
||
Node number 10: 15 observations
|
||
mean=23.8, MSE=4.026667
|
||
|
||
Node number 11: 8 observations
|
||
mean=25.625, MSE=4.984375
|
||
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("car90")
|
||
> ### * car90
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: car90
|
||
> ### Title: Automobile Data from 'Consumer Reports' 1990
|
||
> ### Aliases: car90
|
||
> ### Keywords: datasets
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> data(car90)
|
||
> plot(car90$Price/1000, car90$Weight,
|
||
+ xlab = "Price (thousands)", ylab = "Weight (lbs)")
|
||
> mlowess <- function(x, y, ...) {
|
||
+ keep <- !(is.na(x) | is.na(y))
|
||
+ lowess(x[keep], y[keep], ...)
|
||
+ }
|
||
> with(car90, lines(mlowess(Price/1000, Weight, f = 0.5)))
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("cu.summary")
|
||
> ### * cu.summary
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: cu.summary
|
||
> ### Title: Automobile Data from 'Consumer Reports' 1990
|
||
> ### Aliases: cu.summary
|
||
> ### Keywords: datasets
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(Price ~ Mileage + Type + Country, cu.summary)
|
||
> par(xpd = TRUE)
|
||
> plot(fit, compress = TRUE)
|
||
> text(fit, use.n = TRUE)
|
||
>
|
||
>
|
||
>
|
||
> graphics::par(get("par.postscript", pos = 'CheckExEnv'))
|
||
> cleanEx()
|
||
> nameEx("kyphosis")
|
||
> ### * kyphosis
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: kyphosis
|
||
> ### Title: Data on Children who have had Corrective Spinal Surgery
|
||
> ### Aliases: kyphosis
|
||
> ### Keywords: datasets
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
|
||
> fit2 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
|
||
+ parms = list(prior = c(0.65, 0.35), split = "information"))
|
||
> fit3 <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis,
|
||
+ control = rpart.control(cp = 0.05))
|
||
> par(mfrow = c(1,2), xpd = TRUE)
|
||
> plot(fit)
|
||
> text(fit, use.n = TRUE)
|
||
> plot(fit2)
|
||
> text(fit2, use.n = TRUE)
|
||
>
|
||
>
|
||
>
|
||
> graphics::par(get("par.postscript", pos = 'CheckExEnv'))
|
||
> cleanEx()
|
||
> nameEx("meanvar.rpart")
|
||
> ### * meanvar.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: meanvar.rpart
|
||
> ### Title: Mean-Variance Plot for an Rpart Object
|
||
> ### Aliases: meanvar meanvar.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> meanvar(z.auto, log = 'xy')
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("path.rpart")
|
||
> ### * path.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: path.rpart
|
||
> ### Title: Follow Paths to Selected Nodes of an Rpart Object
|
||
> ### Aliases: path.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
|
||
> print(fit)
|
||
n= 81
|
||
|
||
node), split, n, loss, yval, (yprob)
|
||
* denotes terminal node
|
||
|
||
1) root 81 17 absent (0.79012346 0.20987654)
|
||
2) Start>=8.5 62 6 absent (0.90322581 0.09677419)
|
||
4) Start>=14.5 29 0 absent (1.00000000 0.00000000) *
|
||
5) Start< 14.5 33 6 absent (0.81818182 0.18181818)
|
||
10) Age< 55 12 0 absent (1.00000000 0.00000000) *
|
||
11) Age>=55 21 6 absent (0.71428571 0.28571429)
|
||
22) Age>=111 14 2 absent (0.85714286 0.14285714) *
|
||
23) Age< 111 7 3 present (0.42857143 0.57142857) *
|
||
3) Start< 8.5 19 8 present (0.42105263 0.57894737) *
|
||
> path.rpart(fit, nodes = c(11, 22))
|
||
|
||
node number: 11
|
||
root
|
||
Start>=8.5
|
||
Start< 14.5
|
||
Age>=55
|
||
|
||
node number: 22
|
||
root
|
||
Start>=8.5
|
||
Start< 14.5
|
||
Age>=55
|
||
Age>=111
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("plot.rpart")
|
||
> ### * plot.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: plot.rpart
|
||
> ### Title: Plot an Rpart Object
|
||
> ### Aliases: plot.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(Price ~ Mileage + Type + Country, cu.summary)
|
||
> par(xpd = TRUE)
|
||
> plot(fit, compress = TRUE)
|
||
> text(fit, use.n = TRUE)
|
||
>
|
||
>
|
||
>
|
||
> graphics::par(get("par.postscript", pos = 'CheckExEnv'))
|
||
> cleanEx()
|
||
> nameEx("post.rpart")
|
||
> ### * post.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: post.rpart
|
||
> ### Title: PostScript Presentation Plot of an Rpart Object
|
||
> ### Aliases: post.rpart post
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> ## Not run:
|
||
> ##D z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> ##D post(z.auto, file = "") # display tree on active device
|
||
> ##D # now construct postscript version on file "pretty.ps"
|
||
> ##D # with no title
|
||
> ##D post(z.auto, file = "pretty.ps", title = " ")
|
||
> ##D z.hp <- rpart(Mileage ~ Weight + HP, car.test.frame)
|
||
> ##D post(z.hp)
|
||
> ## End(Not run)
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("predict.rpart")
|
||
> ### * predict.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: predict.rpart
|
||
> ### Title: Predictions from a Fitted Rpart Object
|
||
> ### Aliases: predict.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> predict(z.auto)
|
||
Eagle Summit 4 Ford Escort 4
|
||
30.93333 30.93333
|
||
Ford Festiva 4 Honda Civic 4
|
||
30.93333 30.93333
|
||
Mazda Protege 4 Mercury Tracer 4
|
||
30.93333 30.93333
|
||
Nissan Sentra 4 Pontiac LeMans 4
|
||
30.93333 30.93333
|
||
Subaru Loyale 4 Subaru Justy 3
|
||
30.93333 30.93333
|
||
Toyota Corolla 4 Toyota Tercel 4
|
||
30.93333 30.93333
|
||
Volkswagen Jetta 4 Chevrolet Camaro V8
|
||
30.93333 20.40909
|
||
Dodge Daytona Ford Mustang V8
|
||
23.80000 20.40909
|
||
Ford Probe Honda Civic CRX Si 4
|
||
25.62500 30.93333
|
||
Honda Prelude Si 4WS 4 Nissan 240SX 4
|
||
25.62500 23.80000
|
||
Plymouth Laser Subaru XT 4
|
||
23.80000 30.93333
|
||
Audi 80 4 Buick Skylark 4
|
||
25.62500 25.62500
|
||
Chevrolet Beretta 4 Chrysler Le Baron V6
|
||
25.62500 23.80000
|
||
Ford Tempo 4 Honda Accord 4
|
||
23.80000 23.80000
|
||
Mazda 626 4 Mitsubishi Galant 4
|
||
23.80000 25.62500
|
||
Mitsubishi Sigma V6 Nissan Stanza 4
|
||
20.40909 23.80000
|
||
Oldsmobile Calais 4 Peugeot 405 4
|
||
25.62500 25.62500
|
||
Subaru Legacy 4 Toyota Camry 4
|
||
23.80000 23.80000
|
||
Volvo 240 4 Acura Legend V6
|
||
23.80000 20.40909
|
||
Buick Century 4 Chrysler Le Baron Coupe
|
||
23.80000 23.80000
|
||
Chrysler New Yorker V6 Eagle Premier V6
|
||
20.40909 20.40909
|
||
Ford Taurus V6 Ford Thunderbird V6
|
||
20.40909 20.40909
|
||
Hyundai Sonata 4 Mazda 929 V6
|
||
23.80000 20.40909
|
||
Nissan Maxima V6 Oldsmobile Cutlass Ciera 4
|
||
20.40909 23.80000
|
||
Oldsmobile Cutlass Supreme V6 Toyota Cressida 6
|
||
20.40909 20.40909
|
||
Buick Le Sabre V6 Chevrolet Caprice V8
|
||
20.40909 20.40909
|
||
Ford LTD Crown Victoria V8 Chevrolet Lumina APV V6
|
||
20.40909 20.40909
|
||
Dodge Grand Caravan V6 Ford Aerostar V6
|
||
20.40909 20.40909
|
||
Mazda MPV V6 Mitsubishi Wagon 4
|
||
20.40909 20.40909
|
||
Nissan Axxess 4 Nissan Van 4
|
||
20.40909 20.40909
|
||
>
|
||
> fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
|
||
> predict(fit, type = "prob") # class probabilities (default)
|
||
absent present
|
||
1 0.4210526 0.5789474
|
||
2 0.8571429 0.1428571
|
||
3 0.4210526 0.5789474
|
||
4 0.4210526 0.5789474
|
||
5 1.0000000 0.0000000
|
||
6 1.0000000 0.0000000
|
||
7 1.0000000 0.0000000
|
||
8 1.0000000 0.0000000
|
||
9 1.0000000 0.0000000
|
||
10 0.4285714 0.5714286
|
||
11 0.4285714 0.5714286
|
||
12 1.0000000 0.0000000
|
||
13 0.4210526 0.5789474
|
||
14 1.0000000 0.0000000
|
||
15 1.0000000 0.0000000
|
||
16 1.0000000 0.0000000
|
||
17 1.0000000 0.0000000
|
||
18 0.8571429 0.1428571
|
||
19 1.0000000 0.0000000
|
||
20 1.0000000 0.0000000
|
||
21 1.0000000 0.0000000
|
||
22 0.4210526 0.5789474
|
||
23 0.4285714 0.5714286
|
||
24 0.4210526 0.5789474
|
||
25 0.4210526 0.5789474
|
||
26 1.0000000 0.0000000
|
||
27 0.4210526 0.5789474
|
||
28 0.4285714 0.5714286
|
||
29 1.0000000 0.0000000
|
||
30 1.0000000 0.0000000
|
||
31 1.0000000 0.0000000
|
||
32 0.8571429 0.1428571
|
||
33 0.8571429 0.1428571
|
||
34 1.0000000 0.0000000
|
||
35 0.8571429 0.1428571
|
||
36 1.0000000 0.0000000
|
||
37 1.0000000 0.0000000
|
||
38 0.4210526 0.5789474
|
||
39 1.0000000 0.0000000
|
||
40 0.4285714 0.5714286
|
||
41 0.4210526 0.5789474
|
||
42 1.0000000 0.0000000
|
||
43 0.4210526 0.5789474
|
||
44 0.4210526 0.5789474
|
||
45 1.0000000 0.0000000
|
||
46 0.8571429 0.1428571
|
||
47 1.0000000 0.0000000
|
||
48 0.8571429 0.1428571
|
||
49 0.4210526 0.5789474
|
||
50 0.8571429 0.1428571
|
||
51 0.4285714 0.5714286
|
||
52 1.0000000 0.0000000
|
||
53 0.4210526 0.5789474
|
||
54 1.0000000 0.0000000
|
||
55 1.0000000 0.0000000
|
||
56 1.0000000 0.0000000
|
||
57 1.0000000 0.0000000
|
||
58 0.4210526 0.5789474
|
||
59 1.0000000 0.0000000
|
||
60 0.4285714 0.5714286
|
||
61 0.4210526 0.5789474
|
||
62 0.4210526 0.5789474
|
||
63 0.4210526 0.5789474
|
||
64 1.0000000 0.0000000
|
||
65 1.0000000 0.0000000
|
||
66 1.0000000 0.0000000
|
||
67 1.0000000 0.0000000
|
||
68 0.8571429 0.1428571
|
||
69 1.0000000 0.0000000
|
||
70 1.0000000 0.0000000
|
||
71 0.8571429 0.1428571
|
||
72 0.8571429 0.1428571
|
||
73 1.0000000 0.0000000
|
||
74 0.8571429 0.1428571
|
||
75 1.0000000 0.0000000
|
||
76 1.0000000 0.0000000
|
||
77 0.8571429 0.1428571
|
||
78 1.0000000 0.0000000
|
||
79 0.8571429 0.1428571
|
||
80 0.4210526 0.5789474
|
||
81 1.0000000 0.0000000
|
||
> predict(fit, type = "vector") # level numbers
|
||
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
|
||
2 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 2 1
|
||
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
|
||
2 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 1 2 1
|
||
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
||
2 1 1 1 1 2 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||
79 80 81
|
||
1 2 1
|
||
> predict(fit, type = "class") # factor
|
||
1 2 3 4 5 6 7 8 9 10
|
||
present absent present present absent absent absent absent absent present
|
||
11 12 13 14 15 16 17 18 19 20
|
||
present absent present absent absent absent absent absent absent absent
|
||
21 22 23 24 25 26 27 28 29 30
|
||
absent present present present present absent present present absent absent
|
||
31 32 33 34 35 36 37 38 39 40
|
||
absent absent absent absent absent absent absent present absent present
|
||
41 42 43 44 45 46 47 48 49 50
|
||
present absent present present absent absent absent absent present absent
|
||
51 52 53 54 55 56 57 58 59 60
|
||
present absent present absent absent absent absent present absent present
|
||
61 62 63 64 65 66 67 68 69 70
|
||
present present present absent absent absent absent absent absent absent
|
||
71 72 73 74 75 76 77 78 79 80
|
||
absent absent absent absent absent absent absent absent absent present
|
||
81
|
||
absent
|
||
Levels: absent present
|
||
> predict(fit, type = "matrix") # level number, class frequencies, probabilities
|
||
[,1] [,2] [,3] [,4] [,5] [,6]
|
||
1 2 8 11 0.4210526 0.5789474 0.23456790
|
||
2 1 12 2 0.8571429 0.1428571 0.17283951
|
||
3 2 8 11 0.4210526 0.5789474 0.23456790
|
||
4 2 8 11 0.4210526 0.5789474 0.23456790
|
||
5 1 29 0 1.0000000 0.0000000 0.35802469
|
||
6 1 29 0 1.0000000 0.0000000 0.35802469
|
||
7 1 29 0 1.0000000 0.0000000 0.35802469
|
||
8 1 29 0 1.0000000 0.0000000 0.35802469
|
||
9 1 29 0 1.0000000 0.0000000 0.35802469
|
||
10 2 3 4 0.4285714 0.5714286 0.08641975
|
||
11 2 3 4 0.4285714 0.5714286 0.08641975
|
||
12 1 29 0 1.0000000 0.0000000 0.35802469
|
||
13 2 8 11 0.4210526 0.5789474 0.23456790
|
||
14 1 12 0 1.0000000 0.0000000 0.14814815
|
||
15 1 29 0 1.0000000 0.0000000 0.35802469
|
||
16 1 29 0 1.0000000 0.0000000 0.35802469
|
||
17 1 29 0 1.0000000 0.0000000 0.35802469
|
||
18 1 12 2 0.8571429 0.1428571 0.17283951
|
||
19 1 29 0 1.0000000 0.0000000 0.35802469
|
||
20 1 12 0 1.0000000 0.0000000 0.14814815
|
||
21 1 29 0 1.0000000 0.0000000 0.35802469
|
||
22 2 8 11 0.4210526 0.5789474 0.23456790
|
||
23 2 3 4 0.4285714 0.5714286 0.08641975
|
||
24 2 8 11 0.4210526 0.5789474 0.23456790
|
||
25 2 8 11 0.4210526 0.5789474 0.23456790
|
||
26 1 12 0 1.0000000 0.0000000 0.14814815
|
||
27 2 8 11 0.4210526 0.5789474 0.23456790
|
||
28 2 3 4 0.4285714 0.5714286 0.08641975
|
||
29 1 29 0 1.0000000 0.0000000 0.35802469
|
||
30 1 29 0 1.0000000 0.0000000 0.35802469
|
||
31 1 29 0 1.0000000 0.0000000 0.35802469
|
||
32 1 12 2 0.8571429 0.1428571 0.17283951
|
||
33 1 12 2 0.8571429 0.1428571 0.17283951
|
||
34 1 29 0 1.0000000 0.0000000 0.35802469
|
||
35 1 12 2 0.8571429 0.1428571 0.17283951
|
||
36 1 29 0 1.0000000 0.0000000 0.35802469
|
||
37 1 12 0 1.0000000 0.0000000 0.14814815
|
||
38 2 8 11 0.4210526 0.5789474 0.23456790
|
||
39 1 12 0 1.0000000 0.0000000 0.14814815
|
||
40 2 3 4 0.4285714 0.5714286 0.08641975
|
||
41 2 8 11 0.4210526 0.5789474 0.23456790
|
||
42 1 12 0 1.0000000 0.0000000 0.14814815
|
||
43 2 8 11 0.4210526 0.5789474 0.23456790
|
||
44 2 8 11 0.4210526 0.5789474 0.23456790
|
||
45 1 29 0 1.0000000 0.0000000 0.35802469
|
||
46 1 12 2 0.8571429 0.1428571 0.17283951
|
||
47 1 29 0 1.0000000 0.0000000 0.35802469
|
||
48 1 12 2 0.8571429 0.1428571 0.17283951
|
||
49 2 8 11 0.4210526 0.5789474 0.23456790
|
||
50 1 12 2 0.8571429 0.1428571 0.17283951
|
||
51 2 3 4 0.4285714 0.5714286 0.08641975
|
||
52 1 29 0 1.0000000 0.0000000 0.35802469
|
||
53 2 8 11 0.4210526 0.5789474 0.23456790
|
||
54 1 29 0 1.0000000 0.0000000 0.35802469
|
||
55 1 29 0 1.0000000 0.0000000 0.35802469
|
||
56 1 29 0 1.0000000 0.0000000 0.35802469
|
||
57 1 12 0 1.0000000 0.0000000 0.14814815
|
||
58 2 8 11 0.4210526 0.5789474 0.23456790
|
||
59 1 12 0 1.0000000 0.0000000 0.14814815
|
||
60 2 3 4 0.4285714 0.5714286 0.08641975
|
||
61 2 8 11 0.4210526 0.5789474 0.23456790
|
||
62 2 8 11 0.4210526 0.5789474 0.23456790
|
||
63 2 8 11 0.4210526 0.5789474 0.23456790
|
||
64 1 29 0 1.0000000 0.0000000 0.35802469
|
||
65 1 29 0 1.0000000 0.0000000 0.35802469
|
||
66 1 12 0 1.0000000 0.0000000 0.14814815
|
||
67 1 29 0 1.0000000 0.0000000 0.35802469
|
||
68 1 12 2 0.8571429 0.1428571 0.17283951
|
||
69 1 12 0 1.0000000 0.0000000 0.14814815
|
||
70 1 29 0 1.0000000 0.0000000 0.35802469
|
||
71 1 12 2 0.8571429 0.1428571 0.17283951
|
||
72 1 12 2 0.8571429 0.1428571 0.17283951
|
||
73 1 29 0 1.0000000 0.0000000 0.35802469
|
||
74 1 12 2 0.8571429 0.1428571 0.17283951
|
||
75 1 29 0 1.0000000 0.0000000 0.35802469
|
||
76 1 29 0 1.0000000 0.0000000 0.35802469
|
||
77 1 12 2 0.8571429 0.1428571 0.17283951
|
||
78 1 12 0 1.0000000 0.0000000 0.14814815
|
||
79 1 12 2 0.8571429 0.1428571 0.17283951
|
||
80 2 8 11 0.4210526 0.5789474 0.23456790
|
||
81 1 12 0 1.0000000 0.0000000 0.14814815
|
||
>
|
||
> sub <- c(sample(1:50, 25), sample(51:100, 25), sample(101:150, 25))
|
||
> fit <- rpart(Species ~ ., data = iris, subset = sub)
|
||
> fit
|
||
n= 75
|
||
|
||
node), split, n, loss, yval, (yprob)
|
||
* denotes terminal node
|
||
|
||
1) root 75 50 setosa (0.33333333 0.33333333 0.33333333)
|
||
2) Petal.Length< 2.5 25 0 setosa (1.00000000 0.00000000 0.00000000) *
|
||
3) Petal.Length>=2.5 50 25 versicolor (0.00000000 0.50000000 0.50000000)
|
||
6) Petal.Length< 4.85 26 2 versicolor (0.00000000 0.92307692 0.07692308) *
|
||
7) Petal.Length>=4.85 24 1 virginica (0.00000000 0.04166667 0.95833333) *
|
||
> table(predict(fit, iris[-sub,], type = "class"), iris[-sub, "Species"])
|
||
|
||
setosa versicolor virginica
|
||
setosa 25 0 0
|
||
versicolor 0 22 1
|
||
virginica 0 3 24
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("print.rpart")
|
||
> ### * print.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: print.rpart
|
||
> ### Title: Print an Rpart Object
|
||
> ### Aliases: print.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> z.auto
|
||
n= 60
|
||
|
||
node), split, n, deviance, yval
|
||
* denotes terminal node
|
||
|
||
1) root 60 1354.58300 24.58333
|
||
2) Weight>=2567.5 45 361.20000 22.46667
|
||
4) Weight>=3087.5 22 61.31818 20.40909 *
|
||
5) Weight< 3087.5 23 117.65220 24.43478
|
||
10) Weight>=2747.5 15 60.40000 23.80000 *
|
||
11) Weight< 2747.5 8 39.87500 25.62500 *
|
||
3) Weight< 2567.5 15 186.93330 30.93333 *
|
||
> ## Not run:
|
||
> ##D node), split, n, deviance, yval
|
||
> ##D * denotes terminal node
|
||
> ##D
|
||
> ##D 1) root 60 1354.58300 24.58333
|
||
> ##D 2) Weight>=2567.5 45 361.20000 22.46667
|
||
> ##D 4) Weight>=3087.5 22 61.31818 20.40909 *
|
||
> ##D 5) Weight<3087.5 23 117.65220 24.43478
|
||
> ##D 10) Weight>=2747.5 15 60.40000 23.80000 *
|
||
> ##D 11) Weight<2747.5 8 39.87500 25.62500 *
|
||
> ##D 3) Weight<2567.5 15 186.93330 30.93333 *
|
||
> ## End(Not run)
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("printcp")
|
||
> ### * printcp
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: printcp
|
||
> ### Title: Displays CP table for Fitted Rpart Object
|
||
> ### Aliases: printcp
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> printcp(z.auto)
|
||
|
||
Regression tree:
|
||
rpart(formula = Mileage ~ Weight, data = car.test.frame)
|
||
|
||
Variables actually used in tree construction:
|
||
[1] Weight
|
||
|
||
Root node error: 1354.6/60 = 22.576
|
||
|
||
n= 60
|
||
|
||
CP nsplit rel error xerror xstd
|
||
1 0.595349 0 1.00000 1.03378 0.180465
|
||
2 0.134528 1 0.40465 0.58366 0.109010
|
||
3 0.012828 2 0.27012 0.44092 0.086528
|
||
4 0.010000 3 0.25729 0.44158 0.086630
|
||
> ## Not run:
|
||
> ##D Regression tree:
|
||
> ##D rpart(formula = Mileage ~ Weight, data = car.test.frame)
|
||
> ##D
|
||
> ##D Variables actually used in tree construction:
|
||
> ##D [1] Weight
|
||
> ##D
|
||
> ##D Root node error: 1354.6/60 = 22.576
|
||
> ##D
|
||
> ##D CP nsplit rel error xerror xstd
|
||
> ##D 1 0.595349 0 1.00000 1.03436 0.178526
|
||
> ##D 2 0.134528 1 0.40465 0.60508 0.105217
|
||
> ##D 3 0.012828 2 0.27012 0.45153 0.083330
|
||
> ##D 4 0.010000 3 0.25729 0.44826 0.076998
|
||
> ## End(Not run)
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("prune.rpart")
|
||
> ### * prune.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: prune.rpart
|
||
> ### Title: Cost-complexity Pruning of an Rpart Object
|
||
> ### Aliases: prune.rpart prune
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> zp <- prune(z.auto, cp = 0.1)
|
||
> plot(zp) #plot smaller rpart object
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("residuals.rpart")
|
||
> ### * residuals.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: residuals.rpart
|
||
> ### Title: Residuals From a Fitted Rpart Object
|
||
> ### Aliases: residuals.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(skips ~ Opening + Solder + Mask + PadType + Panel,
|
||
+ data = solder.balance, method = "anova")
|
||
> summary(residuals(fit))
|
||
Min. 1st Qu. Median Mean 3rd Qu. Max.
|
||
-13.8000 -1.0361 -0.6833 0.0000 0.9639 16.2000
|
||
> plot(predict(fit),residuals(fit))
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("rpart")
|
||
> ### * rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: rpart
|
||
> ### Title: Recursive Partitioning and Regression Trees
|
||
> ### Aliases: rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
|
||
> fit2 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
|
||
+ parms = list(prior = c(.65,.35), split = "information"))
|
||
> fit3 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
|
||
+ control = rpart.control(cp = 0.05))
|
||
> par(mfrow = c(1,2), xpd = NA) # otherwise on some devices the text is clipped
|
||
> plot(fit)
|
||
> text(fit, use.n = TRUE)
|
||
> plot(fit2)
|
||
> text(fit2, use.n = TRUE)
|
||
>
|
||
>
|
||
>
|
||
> graphics::par(get("par.postscript", pos = 'CheckExEnv'))
|
||
> cleanEx()
|
||
> nameEx("rsq.rpart")
|
||
> ### * rsq.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: rsq.rpart
|
||
> ### Title: Plots the Approximate R-Square for the Different Splits
|
||
> ### Aliases: rsq.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> rsq.rpart(z.auto)
|
||
|
||
Regression tree:
|
||
rpart(formula = Mileage ~ Weight, data = car.test.frame)
|
||
|
||
Variables actually used in tree construction:
|
||
[1] Weight
|
||
|
||
Root node error: 1354.6/60 = 22.576
|
||
|
||
n= 60
|
||
|
||
CP nsplit rel error xerror xstd
|
||
1 0.595349 0 1.00000 1.03378 0.180465
|
||
2 0.134528 1 0.40465 0.58366 0.109010
|
||
3 0.012828 2 0.27012 0.44092 0.086528
|
||
4 0.010000 3 0.25729 0.44158 0.086630
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("snip.rpart")
|
||
> ### * snip.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: snip.rpart
|
||
> ### Title: Snip Subtrees of an Rpart Object
|
||
> ### Aliases: snip.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> ## dataset not in R
|
||
> ## Not run:
|
||
> ##D z.survey <- rpart(market.survey) # grow the rpart object
|
||
> ##D plot(z.survey) # plot the tree
|
||
> ##D z.survey2 <- snip.rpart(z.survey, toss = 2) # trim subtree at node 2
|
||
> ##D plot(z.survey2) # plot new tree
|
||
> ##D
|
||
> ##D # can also interactively select the node using the mouse in the
|
||
> ##D # graphics window
|
||
> ## End(Not run)
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("solder.balance")
|
||
> ### * solder.balance
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: solder.balance
|
||
> ### Title: Soldering of Components on Printed-Circuit Boards
|
||
> ### Aliases: solder.balance solder
|
||
> ### Keywords: datasets
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(skips ~ Opening + Solder + Mask + PadType + Panel,
|
||
+ data = solder.balance, method = "anova")
|
||
> summary(residuals(fit))
|
||
Min. 1st Qu. Median Mean 3rd Qu. Max.
|
||
-13.8000 -1.0361 -0.6833 0.0000 0.9639 16.2000
|
||
> plot(predict(fit), residuals(fit))
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("stagec")
|
||
> ### * stagec
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: stagec
|
||
> ### Title: Stage C Prostate Cancer
|
||
> ### Aliases: stagec
|
||
> ### Keywords: datasets
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> require(survival)
|
||
Loading required package: survival
|
||
> rpart(Surv(pgtime, pgstat) ~ ., stagec)
|
||
n= 146
|
||
|
||
node), split, n, deviance, yval
|
||
* denotes terminal node
|
||
|
||
1) root 146 192.111100 1.0000000
|
||
2) grade< 2.5 61 44.799010 0.3634439
|
||
4) g2< 11.36 33 9.117405 0.1229835 *
|
||
5) g2>=11.36 28 27.602190 0.7345610
|
||
10) gleason< 5.5 20 14.297110 0.5304115 *
|
||
11) gleason>=5.5 8 11.094650 1.3069940 *
|
||
3) grade>=2.5 85 122.441500 1.6148600
|
||
6) age>=56.5 75 103.062900 1.4255040
|
||
12) gleason< 7.5 50 66.119800 1.1407320
|
||
24) g2< 13.475 24 27.197170 0.8007306 *
|
||
25) g2>=13.475 26 36.790960 1.4570210
|
||
50) g2>=17.915 15 20.332740 0.9789825 *
|
||
51) g2< 17.915 11 13.459010 2.1714480 *
|
||
13) gleason>=7.5 25 33.487250 2.0307290
|
||
26) g2>=15.29 10 11.588480 1.2156230 *
|
||
27) g2< 15.29 15 18.939150 2.7053610 *
|
||
7) age< 56.5 10 13.769010 3.1822320 *
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
|
||
detaching ‘package:survival’
|
||
|
||
> nameEx("summary.rpart")
|
||
> ### * summary.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: summary.rpart
|
||
> ### Title: Summarize a Fitted Rpart Object
|
||
> ### Aliases: summary.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> ## a regression tree
|
||
> z.auto <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> summary(z.auto)
|
||
Call:
|
||
rpart(formula = Mileage ~ Weight, data = car.test.frame)
|
||
n= 60
|
||
|
||
CP nsplit rel error xerror xstd
|
||
1 0.59534912 0 1.0000000 1.0337818 0.18046532
|
||
2 0.13452819 1 0.4046509 0.5836606 0.10900973
|
||
3 0.01282843 2 0.2701227 0.4409221 0.08652804
|
||
4 0.01000000 3 0.2572943 0.4415805 0.08663003
|
||
|
||
Variable importance
|
||
Weight
|
||
100
|
||
|
||
Node number 1: 60 observations, complexity param=0.5953491
|
||
mean=24.58333, MSE=22.57639
|
||
left son=2 (45 obs) right son=3 (15 obs)
|
||
Primary splits:
|
||
Weight < 2567.5 to the right, improve=0.5953491, (0 missing)
|
||
|
||
Node number 2: 45 observations, complexity param=0.1345282
|
||
mean=22.46667, MSE=8.026667
|
||
left son=4 (22 obs) right son=5 (23 obs)
|
||
Primary splits:
|
||
Weight < 3087.5 to the right, improve=0.5045118, (0 missing)
|
||
|
||
Node number 3: 15 observations
|
||
mean=30.93333, MSE=12.46222
|
||
|
||
Node number 4: 22 observations
|
||
mean=20.40909, MSE=2.78719
|
||
|
||
Node number 5: 23 observations, complexity param=0.01282843
|
||
mean=24.43478, MSE=5.115312
|
||
left son=10 (15 obs) right son=11 (8 obs)
|
||
Primary splits:
|
||
Weight < 2747.5 to the right, improve=0.1476996, (0 missing)
|
||
|
||
Node number 10: 15 observations
|
||
mean=23.8, MSE=4.026667
|
||
|
||
Node number 11: 8 observations
|
||
mean=25.625, MSE=4.984375
|
||
|
||
>
|
||
> ## a classification tree with multiple variables and surrogate splits.
|
||
> summary(rpart(Kyphosis ~ Age + Number + Start, data = kyphosis))
|
||
Call:
|
||
rpart(formula = Kyphosis ~ Age + Number + Start, data = kyphosis)
|
||
n= 81
|
||
|
||
CP nsplit rel error xerror xstd
|
||
1 0.17647059 0 1.0000000 1.000000 0.2155872
|
||
2 0.01960784 1 0.8235294 1.058824 0.2200975
|
||
3 0.01000000 4 0.7647059 1.058824 0.2200975
|
||
|
||
Variable importance
|
||
Start Age Number
|
||
64 24 12
|
||
|
||
Node number 1: 81 observations, complexity param=0.1764706
|
||
predicted class=absent expected loss=0.2098765 P(node) =1
|
||
class counts: 64 17
|
||
probabilities: 0.790 0.210
|
||
left son=2 (62 obs) right son=3 (19 obs)
|
||
Primary splits:
|
||
Start < 8.5 to the right, improve=6.762330, (0 missing)
|
||
Number < 5.5 to the left, improve=2.866795, (0 missing)
|
||
Age < 39.5 to the left, improve=2.250212, (0 missing)
|
||
Surrogate splits:
|
||
Number < 6.5 to the left, agree=0.802, adj=0.158, (0 split)
|
||
|
||
Node number 2: 62 observations, complexity param=0.01960784
|
||
predicted class=absent expected loss=0.09677419 P(node) =0.7654321
|
||
class counts: 56 6
|
||
probabilities: 0.903 0.097
|
||
left son=4 (29 obs) right son=5 (33 obs)
|
||
Primary splits:
|
||
Start < 14.5 to the right, improve=1.0205280, (0 missing)
|
||
Age < 55 to the left, improve=0.6848635, (0 missing)
|
||
Number < 4.5 to the left, improve=0.2975332, (0 missing)
|
||
Surrogate splits:
|
||
Number < 3.5 to the left, agree=0.645, adj=0.241, (0 split)
|
||
Age < 16 to the left, agree=0.597, adj=0.138, (0 split)
|
||
|
||
Node number 3: 19 observations
|
||
predicted class=present expected loss=0.4210526 P(node) =0.2345679
|
||
class counts: 8 11
|
||
probabilities: 0.421 0.579
|
||
|
||
Node number 4: 29 observations
|
||
predicted class=absent expected loss=0 P(node) =0.3580247
|
||
class counts: 29 0
|
||
probabilities: 1.000 0.000
|
||
|
||
Node number 5: 33 observations, complexity param=0.01960784
|
||
predicted class=absent expected loss=0.1818182 P(node) =0.4074074
|
||
class counts: 27 6
|
||
probabilities: 0.818 0.182
|
||
left son=10 (12 obs) right son=11 (21 obs)
|
||
Primary splits:
|
||
Age < 55 to the left, improve=1.2467530, (0 missing)
|
||
Start < 12.5 to the right, improve=0.2887701, (0 missing)
|
||
Number < 3.5 to the right, improve=0.1753247, (0 missing)
|
||
Surrogate splits:
|
||
Start < 9.5 to the left, agree=0.758, adj=0.333, (0 split)
|
||
Number < 5.5 to the right, agree=0.697, adj=0.167, (0 split)
|
||
|
||
Node number 10: 12 observations
|
||
predicted class=absent expected loss=0 P(node) =0.1481481
|
||
class counts: 12 0
|
||
probabilities: 1.000 0.000
|
||
|
||
Node number 11: 21 observations, complexity param=0.01960784
|
||
predicted class=absent expected loss=0.2857143 P(node) =0.2592593
|
||
class counts: 15 6
|
||
probabilities: 0.714 0.286
|
||
left son=22 (14 obs) right son=23 (7 obs)
|
||
Primary splits:
|
||
Age < 111 to the right, improve=1.71428600, (0 missing)
|
||
Start < 12.5 to the right, improve=0.79365080, (0 missing)
|
||
Number < 3.5 to the right, improve=0.07142857, (0 missing)
|
||
|
||
Node number 22: 14 observations
|
||
predicted class=absent expected loss=0.1428571 P(node) =0.1728395
|
||
class counts: 12 2
|
||
probabilities: 0.857 0.143
|
||
|
||
Node number 23: 7 observations
|
||
predicted class=present expected loss=0.4285714 P(node) =0.08641975
|
||
class counts: 3 4
|
||
probabilities: 0.429 0.571
|
||
|
||
>
|
||
>
|
||
>
|
||
> cleanEx()
|
||
> nameEx("text.rpart")
|
||
> ### * text.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: text.rpart
|
||
> ### Title: Place Text on a Dendrogram Plot
|
||
> ### Aliases: text.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> freen.tr <- rpart(y ~ ., freeny)
|
||
> par(xpd = TRUE)
|
||
> plot(freen.tr)
|
||
> text(freen.tr, use.n = TRUE, all = TRUE)
|
||
>
|
||
>
|
||
>
|
||
> graphics::par(get("par.postscript", pos = 'CheckExEnv'))
|
||
> cleanEx()
|
||
> nameEx("xpred.rpart")
|
||
> ### * xpred.rpart
|
||
>
|
||
> flush(stderr()); flush(stdout())
|
||
>
|
||
> ### Name: xpred.rpart
|
||
> ### Title: Return Cross-Validated Predictions
|
||
> ### Aliases: xpred.rpart
|
||
> ### Keywords: tree
|
||
>
|
||
> ### ** Examples
|
||
>
|
||
> fit <- rpart(Mileage ~ Weight, car.test.frame)
|
||
> xmat <- xpred.rpart(fit)
|
||
> xerr <- (xmat - car.test.frame$Mileage)^2
|
||
> apply(xerr, 2, sum) # cross-validated error estimate
|
||
0.79767456 0.28300396 0.04154257 0.01132626
|
||
1396.6687 773.1546 577.8990 594.1341
|
||
>
|
||
> # approx same result as rel. error from printcp(fit)
|
||
> apply(xerr, 2, sum)/var(car.test.frame$Mileage)
|
||
0.79767456 0.28300396 0.04154257 0.01132626
|
||
60.83306 33.67539 25.17087 25.87800
|
||
> printcp(fit)
|
||
|
||
Regression tree:
|
||
rpart(formula = Mileage ~ Weight, data = car.test.frame)
|
||
|
||
Variables actually used in tree construction:
|
||
[1] Weight
|
||
|
||
Root node error: 1354.6/60 = 22.576
|
||
|
||
n= 60
|
||
|
||
CP nsplit rel error xerror xstd
|
||
1 0.595349 0 1.00000 1.03378 0.180465
|
||
2 0.134528 1 0.40465 0.58366 0.109010
|
||
3 0.012828 2 0.27012 0.44092 0.086528
|
||
4 0.010000 3 0.25729 0.44158 0.086630
|
||
>
|
||
>
|
||
>
|
||
> ### * <FOOTER>
|
||
> ###
|
||
> cleanEx()
|
||
> options(digits = 7L)
|
||
> base::cat("Time elapsed: ", proc.time() - base::get("ptime", pos = 'CheckExEnv'),"\n")
|
||
Time elapsed: 0.777 0.048 0.825 0 0
|
||
> grDevices::dev.off()
|
||
null device
|
||
1
|
||
> ###
|
||
> ### Local variables: ***
|
||
> ### mode: outline-minor ***
|
||
> ### outline-regexp: "\\(> \\)?### [*]+" ***
|
||
> ### End: ***
|
||
> quit('no')
|