The function `rpls.cv`

determines the best ridge regularization parameter and the best
number of PLS components to be used for classification for Fort and Lambert-Lacroix (2005)
RPLS algorithm.

1 | ```
rpls.cv(Ytrain,Xtrain,LambdaRange,ncompMax,NbIterMax=50)
``` |

`Xtrain` |
a (ntrain x p) data matrix of predictors. |

`Ytrain` |
a ntrain vector of responses. |

`LambdaRange` |
the vector of positive real value from which the best ridge regularization parameter has to be chosen by cross-validation. |

`ncompMax` |
a positive integer. the best number of components is chosen from
1,..., |

`NbIterMax` |
a positive integer. |

A cross-validation procedure is used to determine the best ridge regularization parameter and
number of PLS components to be used for classification with RPLS for binary data
(for categorical data see `mrpls`

and `mrpls.cv`

).
At each cross-validation run, `Xtrain`

is split into a pseudo training
set (ntrain-1 samples) and a pseudo test set (1 sample) and the classification error rate is
determined for each value of ridge regularization parameter and number of components. Finally,
the function `mrpls.cv`

returns the values of the ridge regularization parameter and
bandwidth for which the mean classification error rate is minimal.

A list with the following components:

`Lambda` |
the optimal regularization parameter. |

`ncomp` |
the optimal number of PLS components. |

Sophie Lambert-Lacroix (http://membres-timc.imag.fr/Sophie.Lambert/).

G. Fort and S. Lambert-Lacroix (2005). Classification using Partial Least Squares with Penalized Logistic Regression, Bioinformatics, vol 21, n 8, 1104-1111.

`rpls`

, `mrpls`

, `mrpls.cv`

.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ```
# load plsgenomics library
# load plsgenomics library
library(plsgenomics)
# load Colon data
data(Colon)
IndexLearn <- c(sample(which(Colon$Y==2),12),sample(which(Colon$Y==1),8))
# preprocess data
res <- preprocess(Xtrain= Colon$X[IndexLearn,], Xtest=Colon$X[-IndexLearn,],
Threshold = c(100,16000),Filtering=c(5,500),
log10.scale=TRUE,row.stand=TRUE)
# the results are given in res$pXtrain and res$pXtest
# Determine optimum ncomp and lambda
nl <- rpls.cv(Ytrain=Colon$Y[IndexLearn],Xtrain=res$pXtrain,LambdaRange=c(0.1,1),ncompMax=3)
# perform prediction by RPLS
resrpls <- rpls(Ytrain=Colon$Y[IndexLearn],Xtrain=res$pXtrain,Lambda=nl$Lambda,
ncomp=nl$ncomp,Xtest=res$pXtest)
sum(resrpls$Ytest!=Colon$Y[-IndexLearn])
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.