RPChoose {RPEnsemble} | R Documentation |
Chooses projection
Description
Chooses a the best projection from a set of size B2
based on a test error estimate, then classifies the training and test sets using the chosen projection.
Usage
RPChoose(XTrain, YTrain, XTest, d, B2 = 10, base = "LDA", k = c(3,5),
projmethod = "Haar", estmethod = "training", ...)
Arguments
XTrain |
An |
YTrain |
A vector of length |
XTest |
An |
d |
The lower dimension of the image space of the projections |
B2 |
The block size |
base |
The base classifier one of |
k |
The options for |
projmethod |
Either |
estmethod |
Method for estimating the test errors to choose the projection: either training error |
... |
Optional further arguments if |
Details
Randomly projects the the data B2
times. Chooses the projection yielding the smallest estimate of the test error. Classifies the training set (via the same method as estmethod
) and test set using the chosen projection.
Value
Returns a vector of length n + n.test
: the first n
entries are the estimated classes of the training set, the last n.test
are the estimated classes of the test set.
Note
Resubstitution method unsuitable for the k
-nearest neighbour classifier.
Author(s)
Timothy I. Cannings and Richard J. Samworth
References
Cannings, T. I. and Samworth, R. J. (2017) Random-projection ensemble classification, J. Roy. Statist. Soc., Ser. B. (with discussion), 79, 959–1035
See Also
RPParallel
, RPChooseSS
, lda
, qda
, knn
Examples
set.seed(100)
Train <- RPModel(1, 50, 100, 0.5)
Test <- RPModel(1, 100, 100, 0.5)
Choose.out5 <- RPChoose(XTrain = Train$x, YTrain = Train$y, XTest = Test$x,
d = 2, B2 = 5, base = "QDA", projmethod = "Haar", estmethod = "loo")
Choose.out10 <- RPChoose(XTrain = Train$x, YTrain = Train$y, XTest = Test$x,
d = 2, B2 = 10, base = "QDA", projmethod = "Haar", estmethod = "loo")
sum(Choose.out5[1:50] != Train$y)
sum(Choose.out10[1:50] != Train$y)
sum(Choose.out5[51:150] != Test$y)
sum(Choose.out10[51:150] != Test$y)