-
Notifications
You must be signed in to change notification settings - Fork 21
/
example.R
42 lines (31 loc) · 1.01 KB
/
example.R
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
library(devtools)
install_github("swager/randomForestCI")
library(randomForest)
library(randomForestCI)
#
# Simple simulation
#
n = 250
p = 100
X = matrix(rnorm(n * p), n, p)
Y = rnorm(n)
rf = randomForest(X, Y, keep.inbag = TRUE)
ij = randomForestInfJack(rf, X, calibrate = TRUE)
plot(ij)
#
# Spambase example
#
spam.data = read.csv("http://archive.ics.uci.edu/ml/machine-learning-databases/spambase/spambase.data",
header = FALSE)
# Separate into predictors and response
X = spam.data[, 1:57]
Y = spam.data[, 58]
# Note -- some variance estimates with y.hat ~~ 0.5 may be close to 0;
# this is a Monte Carlo noise effect
rf.spam = randomForest(X, factor(Y), keep.inbag = TRUE, ntree = 500)
ij.spam = randomForestInfJack(rf.spam, X, calibrate = TRUE)
plot(ij.spam)
# With 2000 trees, training takes longer, but the variance estimates are much better
rf.spam2 = randomForest(X, factor(Y), keep.inbag = TRUE, ntree = 2000)
ij.spam2 = randomForestInfJack(rf.spam2, X, calibrate = TRUE)
plot(ij.spam2)