File: treble3.R

package info (click to toggle)
rpart 4.1.24-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,640 kB
  • sloc: ansic: 2,994; makefile: 2
file content (31 lines) | stat: -rw-r--r-- 965 bytes parent folder | download | duplicates (3)
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
#
# The treble test for classification trees
#  
#
library(rpart)
set.seed(10)

xgrp <- rep(1:10,length=nrow(cu.summary))
carfit <- rpart(Country ~ Reliability + Price + Mileage + Type,
		 method='class', data=cu.summary, 
		 control=rpart.control(xval=xgrp))

carfit2 <- rpart(Country ~ Reliability + Price + Mileage + Type,
		 method='class', data=cu.summary, 
		 weight=rep(3,nrow(cu.summary)),
		 control=rpart.control(xval=xgrp))

all.equal(carfit$frame$wt,    carfit2$frame$wt/3)
all.equal(carfit$frame$dev,   carfit2$frame$dev/3)
all.equal(carfit$frame[,5:7], carfit2$frame[,5:7])
all.equal(carfit$frame$yval2[,12:21], carfit2$frame$yval2[,12:21])
all.equal(carfit[c('where', 'csplit')],
	  carfit2[c('where', 'csplit')])
xx <- carfit2$splits
xx[,'improve'] <- xx[,'improve'] / ifelse(xx[,5]> 0,1,3) # surrogate?
all.equal(xx, carfit$splits)
all.equal(as.vector(carfit$cptable), 
	  as.vector(carfit2$cptable%*% diag(c(1,1,1,1,sqrt(3)))))

summary(carfit2)